MicroPython目前只在Wipy中正式提供了串口接收中断功能,其它硬件移植版本中,虽然也可以使用,但是问题比较多,有时会不太稳定,出现一些奇怪问题造成无法正常运行。
UART.irq(trigger, priority=1, handler=None, wake=machine.IDLE)
目前,除了等待官方发布支持串口中断功能的新固件之外,我们还可以使用下面方法实现串口中断:
更进一步,如果可以增加一个定时器,用于串口接收保护,在超过一定时间没有收到新的数据后关闭定时器和串口,以节约功耗;或者认为一组数据接收完成,通知MCU进行处理。
以上方法在pyboard上测试正常,如果将全部功能封装成一个class,使用会更加方便。
初学者看看
学习了:)
学习一下
学习了