python - python串口通信
问题描述
这是我的串口通信代码
import matplotlib.pyplot as plt
import matplotlib.animation as animation
from matplotlib import style
import serial
MCU = serial.Serial('COM35', 115200, timeout=.1)
import time
time.sleep(1) #give the connection a second to settle
while True:
data = MCU.readline()
print(str(data))
但我正在输出为
b'\x0b\x16 )6\x06\x07\x08X\x02\x16,'
(这是 Hex+Ascii 值)
这是我的输入数据
uint8_t myBuf[]={11,22,32,41,54,6,7,8,88,2,22,44};
有人知道我在这里做错了什么吗?
解决方案
您希望输出的格式是什么?正如您所建议的,您所拥有的是正确的数据,但采用字节格式。例如,您可以将其作为 python 整数列表获取,如下所示(Python 3):
>>> list(data)
[11, 22, 32, 41, 54, 6, 7, 8, 88, 2, 22, 44]
struct模块也可能对您解码字节数据有用。
(我不能发表评论,对不起。)
推荐阅读
- node.js - 如何在 linux 中更新 NodeJS 版本?(尝试安装 jsreport-pdf-password 时出现问题)
- javascript - 为什么在运行迁移时出现错误,我试图将typedatas文本更改为JSONB(PosgreesSql+sequelize)
- blockchain - 将少量数据写入区块链?以及可用的区块链
- javascript - 如何使用 nodejs 服务器流式传输 RTSP?
- python - 将多个 Excel 工作簿中的多个工作表合并到一个 Pandas 数据框中
- python - 如何在 Python 中使用 for 循环或其他迭代方法连接“变量名”?
- amazon-web-services - 无论如何使用aws amplify CLI添加带有postgres数据源的graphql api吗?
- python - 如何使用python将列表列表写入excel?
- php - 将键值对数组保存到 MySQL-DB
- java - 直径堆栈重新启动时如何处理请求/应答/会话?