• 星瞳AI VISION软件内测!可以离线标注,训练,并生成OpenMV的模型。可以替代edge impulse https://forum.singtown.com/topic/8206
  • 我们只解决官方正版的OpenMV的问题(STM32),其他的分支有很多兼容问题,我们无法解决。
  • 如果有产品硬件故障问题,比如无法开机,论坛很难解决。可以直接找售后维修
  • 发帖子之前,请确认看过所有的视频教程,https://singtown.com/learn/ 和所有的上手教程http://book.openmv.cc/
  • 每一个新的提问,单独发一个新帖子
  • 帖子需要目的,你要做什么?
  • 如果涉及代码,需要报错提示全部代码文本,请注意不要贴代码图片
  • 必看:玩转星瞳论坛了解一下图片上传,代码格式等问题。
  • 请问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 感谢,明白了