0

我正在尝试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)
4

0 回答 0