如何在python中读取来自串口的字节数据?

2024-04-29 01:57:18 发布

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

我正在用下面的配置写串行端口,并尝试从中读取数据。实际上,我正在向我的硬件板发送命令,它连接到COM7,硬件也在向那个com端口发送数据。因此,我想读取数据,但我得到的是十六进制或字节格式。见下文。。你知道吗

串行配置: 'ComPort':'7','BaudRate':'115200','Parity':'O','DataBit':'8','StopBit':'1','FlowCtrl':'0','DelayPerChar':'0','DelayPerLine':'0'

我从硬件接收的数据如下所示: b'?G\xa1C!\xd2\x94\n\x82\xa2\xc1\xc9ee\xb3C\xe1'

实际数据应该是可读的格式,比如:$GB00402eef,这是我从TeraTerm终端得到的。你知道吗

让我知道哪种编码和解码方法可以帮助我获得可读格式的数据。。你知道吗


Tags: 数据端口命令com字节硬件格式读取数据
2条回答

最后,我可以从接收缓冲区读取可读格式的字符串数据。你知道吗

问题在于串行的奇偶校验配置。

您的计算机程序(发送器)和硬件(接收器)应连接到同一奇偶校验。如果它们的奇偶校验不匹配,那么您可以从接收缓冲区以垃圾或十六进制格式获取数据。你知道吗

例如:如果硬件连接到奇偶校验无,那么串行配置也应该有奇偶校验“无”。如果使用奇偶校验'odd',则奇偶校验不匹配,数据将无法以正确的格式接收。你知道吗

你已经用

varName.decode()

字符串方法。UTF-8足以满足您的要求。你知道吗

相关问题 更多 >