请问openmv接收不到32发送的数据,如何处理?
-
实现的功能是:openmv通过模板匹配识别数字,然后将数字发送给32,32接收到数据发送‘OK’给openmv之后才可以继续进行识别。现在的问题就是32可以接收到openmv发送的数字,但是openmv却接收不到32发送的‘OK’并且还可以继续识别数字发送给32。请问一下openmv的代码是否有问题,感谢!
(以下是部分代码)
(我这里直接就是如果openmv接收到数据直接print‘OK’)r = img.find_template(template0, 0.70, step=4, search=SEARCH_EX) if r: img.draw_rectangle(r) uart.write('0') print('0') LED(1).on() LED(2).off() LED(3).off() time.sleep_ms(100) LED(1).on() LED(2).on() LED(3).on() time.sleep_ms(100) if uart.any(): print('OK')
-
你要用while,而不是if啊
r = img.find_template(template0, 0.70, step=4, search=SEARCH_EX) if r: img.draw_rectangle(r) uart.write('0') print('0') LED(1).on() LED(2).off() LED(3).off() time.sleep_ms(100) LED(1).on() LED(2).on() LED(3).on() time.sleep_ms(100) while not uart.any(): data = uart.read() print(data)
-
我使用了您给的代码,但是模块和另一台电脑的串口助手发送数据之后,我这里的接收到的都是None并且进入了死循环,但是如果单独的用视频教程里的串口接收程序,openmv是可以接收到数据的,请问是怎么回事呢?
-
当OpenMV收到数据的时候,uart.any()就是True,就会跳出循环。
-
@kidswong999 感谢,明白了