我正在尝试balance()
在一个线程上运行函数并在单独的线程上使用 Timer。两种方法单独运行时都可以正常工作,但是当我尝试同时使用它们时,issr()
由 Timer 调用的函数在几次调用后就停止工作。Raspberry 的 REPL 没有错误。该motor.do_step()
方法只是在调用时将 Pin 值从 0 更改为 1。有什么想法有什么问题吗?
def issr(timer):
global motor1, motor2, i
motor1.do_step()
motor2.do_step()
def balance():
while True:
global motor1, motor2
motor1.set_speed(1000)
motor2.set_speed(1000)
_thread.start_new_thread(balance, ())
tim = Timer()
tim.init(freq=3000, mode=Timer.PERIODIC, callback=issr)