سلام دوستان یه مشکلی تو برنامه نویسی با بسکام برام پیش اومده و کمک میخوام .
بحث تاخیر های زمانی یا همون waitms و waitus تو برنامه هست .
تو برنامه ای که در زیر قرار دادم به جای اینکه مستقیم جلوی waitms عدد بنویسم ، یک متغییر درست کردم و با اون اینکارو میکنم تا قابلیت تغیر با
یک ولوم که به adc میکرو وصله رو داشته باشه .
ولی مشکل اینجاست که نمیدونم چرا اون تاخیری که میخوام ایجاد نمیشه و اختلافش زیاده ؟؟
مثلا تو برنامه زیر به جای اینکه تغریبا 20 بار در ثانیه خروجیم قطع و وصل بشه ؛ 8 بار قطع و وصل میشه ؟؟
من نیاز به برنامه ایی دارم که هم فرکانس قطع و وصلو مرتب و بر حسب نیاز کم و زیاد کنم و هم پهنای پالسو تغیر بدم ، اگه روش بهتری هم سراغ دارید بگید
ممنون
بحث تاخیر های زمانی یا همون waitms و waitus تو برنامه هست .
تو برنامه ای که در زیر قرار دادم به جای اینکه مستقیم جلوی waitms عدد بنویسم ، یک متغییر درست کردم و با اون اینکارو میکنم تا قابلیت تغیر با
یک ولوم که به adc میکرو وصله رو داشته باشه .
ولی مشکل اینجاست که نمیدونم چرا اون تاخیری که میخوام ایجاد نمیشه و اختلافش زیاده ؟؟
مثلا تو برنامه زیر به جای اینکه تغریبا 20 بار در ثانیه خروجیم قطع و وصل بشه ؛ 8 بار قطع و وصل میشه ؟؟
من نیاز به برنامه ایی دارم که هم فرکانس قطع و وصلو مرتب و بر حسب نیاز کم و زیاد کنم و هم پهنای پالسو تغیر بدم ، اگه روش بهتری هم سراغ دارید بگید

کد:
'------------------------------------- Automatic_start: Cls Call Buz Do Call Pressure_sub Call Voltage_sub Call Pulse_speed_sub Reset Watchdog Locate 1 , 1 : Lcd "Pressure : " ; Pressure ; " " Locate 2 , 1 : Lcd "Voltage : " ; Voltage ; " " Locate 3 , 1 : Lcd "Pulse Speed : " ; Pulse_speed ; " " Locate 4 , 1 : Lcd "RPM : " ; Rpm ; " " Set Pulse1 Set Pulse2 Set Pulse3 Set Pulse4 Set Bz Waitus Delay_time_1 Reset Pulse1 Reset Pulse2 Reset Pulse3 Reset Pulse4 Reset Bz Waitms Delay_time_2 Debounce Start_key , 0 , Automatic Loop Sub Pulse_speed_sub: Temp_adc = Getadc(1) 'volom 1 Select Case Temp_adc Case 0 To 250 : Pulse_speed = 1 Delay_time_1 = 500 Delay_time_2 = 49 Case 250 To 500 : Pulse_speed = 2 Delay_time_1 = 800 Delay_time_2 = 49 Case 500 To 800 : Pulse_speed = 3 Delay_time_1 = 1200 Delay_time_2 = 66 Case 800 To 1024 : Pulse_speed = 4 Delay_time_1 = 1500 Delay_time_2 = 99 Case Else : Pulse_speed = 1 Delay_time_1 = 500 Delay_time_2 = 49 End Select Reset Watchdog Return End Sub
دیدگاه