在学习了解,参照https://gitee.com/Lyon1998/pikapython/blob/master/examples/Device/GPIO_CALLBCK.py
import PikaStdDevice as std
print('hello pikascript')
io = std.GPIO()
io.setPin('P4')
io.setMode('in')
io.enable()
def cb1(signal):
print('cb1', signal)
io.setCallBack(cb1, io.SIGNAL_FALLING)
while True:
pass
在ESP32S3下,默认有看门狗,py文件里有while循环,会触发看门狗.
是哪里有触发调度的我没去处理?
离线
esp32如果长时间没有进vTaskDelay切其他线程就会进看门狗,你可以定时进 vTaskDelay,python里面的time模块的sleep方法会调vTaskDealy,前提是打开PIKA_FREERTOS_ENABLE宏提供 freertos支持,你可以安装time模块,然后这样:
import PikaStdDevice as std
import time
print('hello pikascript')
io = std.GPIO()
io.setPin('P4')
io.setMode('in')
io.enable()
def cb1(signal):
print('cb1', signal)
io.setCallBack(cb1, io.SIGNAL_FALLING)
while True:
time.sleep(0.1)
离线
弄ESP32需要vTaskDelay切换这个是知道的.只是不清楚PIKA里关联的需要RTOS支持,time这部分.
离线