USB串行数据发送乱七八糟

2024-09-25 18:12:22 发布

您现在位置:Python中文网/ 问答频道 /正文

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

我可以连接到usb端口并开始接收带有代码的数据

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

我知道波特率是9600(硬件制造商的文档),但由于某些原因,当我试图读取数据流时,我得到了许多不同语言和字符形式的胡言乱语。在我杀死程序后,我的屏幕仍然用我输入的乱七八糟的数据替换我的字符。在

我肯定这不是硬件发送的数据流。某个地方的某个东西正在改变事物,但我不知道它可能是什么。在

当我启动设备,它正在初始化,然后我得到可读的信息。但当设备开始运行时,我只看到这些奇怪的字符

有没有办法把这些字符转换成它实际输入的数据?在

示例图片: output screen


Tags: 数据端口代码bytes硬件serialpi字符
1条回答
网友
1楼 · 发布于 2024-09-25 18:12:22

所以我能够用这行python代码来解决胡言乱语的问题(对于其他有此问题的人)。在

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

其中bytes是原始数据,我用“:”分隔。 连接和波特率似乎还可以。幸运的是,数据可以转换成十六进制ok。在

相关问题 更多 >