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



    • 测试通过串口工具软件给OPENMV的串口发送数据,但是发现在发送中文字符时,只有使用官方推荐的“星瞳串口助手”发送的,OPENMV接收解码都正常。使用“Xcom”、“Sscom32“等第三方串口助手发送中文字符时OPENMV都会报错“UnicodeError?”

      对比了一下,星瞳串口助手与第三方串口助手的波特率等参数都是设置一样的,唯一不同是16进制(Hex)的转换是不同的,具体看下面3个截图。接线检查了没有错,测试代码也很简单。

      请问官方工作人员,这个问题的原因出在哪里?我测试了用串口GPS模块给OPENMV发送GPS数据也是报第三方串口助手同样的错误,不搞清楚这个原因也很难调试GPS串口的接入。

      import time
      from pyb import UART
      
      
      
      uart = UART(3, 19200)
      
      while(True):
          if uart.any():
              A=uart.readline()
              print("串口输入原始:",A)
              B=A.decode()
              print("串口输入转换后=",B)
      
          time.sleep_ms(2000)
      

      ![0_1685174706060_AAAAA.jpg](https://fcdn.singtown.com/78dad50f-a09b-4f63-b935-0_1685174730235_BBBBBBBBBB.jpg fd04abac3366.jpg) 0_1685174772564_CCCCCCCCCCCC.jpg



    • 中文字符“哈喽”,在官方的“星瞳串口助手”16进制转换后是“xe5\x93\x88\xe5\x96\xbd”
      在“Xcom”、“Sscom32“等第三方串口助手16进制转换后是“xb9\xfe\xe0\xb6”
      导致串口助手发送出去之后,OPENMV收到的也不相同,为什么16进制转换会不同呢?



    • 花了一天时间查找资料,最好发现,这个问题的原因是micropython不支持GBK,这是micropython的最大硬伤了,micropython到底还不是python ,也无法替代!!!



    • 正确的办法是,在所有的串口助手里都统一使用utf8。
      python和micropython都本身都是统一使用utf8。