花了一天时间查找资料,最好发现,这个问题的原因是micropython不支持GBK,这是micropython的最大硬伤了,micropython到底还不是python ,也无法替代!!!
S
sxwf
@sxwf
0
声望
3
楼层
183
资料浏览
0
粉丝
0
关注
sxwf 发布的帖子
-
RE: OPENMV串口调试时为什么报UnicodeError?
-
RE: OPENMV串口调试时为什么报UnicodeError?
中文字符“哈喽”,在官方的“星瞳串口助手”16进制转换后是“xe5\x93\x88\xe5\x96\xbd”
在“Xcom”、“Sscom32“等第三方串口助手16进制转换后是“xb9\xfe\xe0\xb6”
导致串口助手发送出去之后,OPENMV收到的也不相同,为什么16进制转换会不同呢? -
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- fd04abac3366.jpg)