Question about sleep_us vs sleep_ms in timer
Posted: Fri Dec 18, 2020 3:06 pm
I have a question regarding the difference in utime.sleep_ms() compared to utime.sleep_us(). I am using a Pyboard D-Series SF6 with Micropython V 1.13. First off, I know that I should not generally be calling utime.sleep inside of a timer callback. I am doing this as a unit test as part of a larger program. With that in mind, when I run this program everything is fine:
However, when I replace utime.sleep_us(1000) with utime.sleep_ms(1) it hangs. The above program even runs fine when I use utime.sleep_us(1500). The larger question is if I ever need to use sleep, should I avoid utime.sleep_ms
Code: Select all
import pyb
import utime
dum1 = utime.ticks_us()
dum2 = 0
def tick_motor(timer):
global dum1,dum2
dum2 = utime.ticks_us()
print(dum2-dum1)
utime.sleep_us(1000)
dum1 = dum2
tim1 = pyb.Timer(5)
tim1.init(freq=500)
tim1.callback(tick_motor)