• OpenMV VSCode 扩展发布了,在插件市场直接搜索OpenMV就可以安装
  • 如果有产品硬件故障问题,比如无法开机,论坛很难解决。可以直接找售后维修
  • 发帖子之前,请确认看过所有的视频教程,https://singtown.com/learn/ 和所有的上手教程http://book.openmv.cc/
  • 每一个新的提问,单独发一个新帖子
  • 帖子需要目的,你要做什么?
  • 如果涉及代码,需要报错提示全部代码文本,请注意不要贴代码图片
  • 必看:玩转星瞳论坛了解一下图片上传,代码格式等问题。
  • uartl连续输入时如何延长等待时间不超时?



    • import time,uos,sensor
      import begin,faceTest,faceCollect,luck
      from pyb import UART
      
      uart = UART(3, 19200,timeout_char=1000)
      while(True):
          if uart.any():
              a = uart.readline().decode()
              print("收到指令:",a)
              if int(a) == 10:
                  begin.begin_zero()
                  time.sleep_ms(100)
                  uart.write("11\n")
                  uart.init(9600, bits=8, parity=None, stop=1, timeout_char=1000) # 使用给定参数初始化
                  print("初始化完成")
                  #luck.luck()
              elif int(a) == 12:
                  begin.begin_two()
                  faceTest.facedetaction()            #找到对应人脸画框
                  faceTest.facetest()                 #人脸匹配
              elif int(a) == 13:
                  begin.begin_three()
                  sensor.sleep(True)                  # 启用感光元件睡眠模式(节省约40mA)。
                  print("休眠模式开启")
              elif int(a) == 14:
                  begin.begin_four()
                  x = uart.readline().decode()
                  print(x)
                  faceCollect.we()
              elif int(a) == 15:
                  begin.begin_five()
                  #print(uos.getcwd())
                  x = uart.readline().decode()
                  print(x)
                  while(x == 15):
                      uos.remove(singtown/s%s,(x-10))
                      print(x)
                      break
      
          time.sleep_ms(10)
      

      此为输入14时立马再输入14后的结果,时间很赶(文中begin是指示灯),在指示灯灭后输入14即为超时😢
      0_1676024377482_不超时.png
      此为首次输入14时等待一段时间
      0_1676024573449_超时.png
      问题一:如何让超时限定时间延长,使用户能有足够长的时间输入指令?

      问题二:为何输入15时,删除目录指令无效?如何删除目录?
      0_1676024751331_代码无效.png

      谢谢大佬解答,感激不尽😃



    • 在27行上面加入,可以一直等待到有数据。

      while not uart.any(): time.sleep(0.01)