星瞳实验室APP,快速收到回复
  • 我们只解决官方正版的OpenMV的问题(STM32),其他的分支有很多兼容问题,我们无法解决。
  • 如果有产品硬件故障问题,比如无法开机,论坛很难解决。可以直接找售后维修
  • 发帖子之前,请确认看过所有的视频教程,https://singtown.com/learn/ 和所有的上手教程http://book.openmv.cc/
  • 每一个新的提问,单独发一个新帖子
  • 帖子需要目的,你要做什么?
  • 如果涉及代码,需要报错提示全部代码文本,请注意不要贴代码图片
  • 必看:玩转星瞳论坛了解一下图片上传,代码格式等问题。
  • 在循环中,串口应如何关闭?



    • 我想用OPEN MV串口3接收外界发送的一个信号,判断此信号是否为“PIC”,然后是就通过串口发送一个字符串“Finish1”,不是就发送“Unfinish1”,用串口调试助手调试时发送一个“PIC”,返回一个“Finish1”,但接着返回了很多“Unfinish1”.我猜测是代码中循环时应该在第一个else里把串口关闭一次或者是我的判定有问题。代码如下:

      import sensor, image, pyb,time
      from pyb import UART
      RED_LED_PIN = 1
      BLUE_LED_PIN = 3
      uart = UART(3, 115200, timeout_char=1000)
      sensor.reset()
      sensor.set_pixformat(sensor.RGB565)
      sensor.set_framesize(sensor.VGA)
      sensor.skip_frames(time = 500)
      pyb.LED(RED_LED_PIN).off()
      pyb.LED(BLUE_LED_PIN).on()
      sensor.skip_frames(time = 500)
      print("You're on camera!")
      count = 0
      while(True):
          if uart.any():
              a = uart.readline().decode()
              if a == "PIC":
                  count = count + 1
                  sensor.snapshot().save("%d.jpg"%(count))
                  pyb.LED(1).on()
                  pyb.LED(3).off()
                  print("Done! Reset the camera to see the saved image.")
                  uart.write("Finish2")
                  print("Send Finish2.")
                  time.sleep(100)
                  pyb.LED(1).off()
                  pyb.LED(3).on()
                  a = "\n"
              else:
                  uart.write("Unfinish2")
                  print("Send Unfinish2.")
                  a = "\n"
          else:
              sensor.snapshot()
              time.sleep(100)
      


    • 在第一个else那里应该a=None或者a=0