USB串口数据发送乱码

USB Serial data sending gibberish

我有一个似乎无法解决的问题。我在 raspberry pi 上使用 python 从 pi 上的 USB 连接读取(从串口转换而来)。

我可以连接到 USB 端口并开始使用代码接收数据

ser = serial.Serial("myUsbPortID", 9600)
bytes = ser.inWaiting()
print ser.read(bytes)

我知道波特率为 9600(硬件制造商文档),但出于某种原因,当我尝试读取数据流时,我得到了很多不同语言和字符形式的乱码。在我终止程序后,我的屏幕仍然在我输入时用乱码数据替换我的字符。

我确定这不是硬件发送的数据流。某处的东西正在转换东西,但我不知道它可能是什么。

当我启动设备并且它正在初始化时,我得到了可读的信息。但是当设备开始运行时,我只得到这个奇怪的字符

有没有办法将这些字符转换为实际传入的数据?

示例图片: output screen

所以我能够通过 python 代码中的这一行解决乱码问题(对于遇到此问题的任何其他人)。

data = ":".join("{:02x}".format(ord(c)) for c in bytes)

其中 bytes 是原始数据,我将其用“:”分隔。 似乎连接和波特率没问题。幸运的是,数据能够转换为十六进制。