微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从python中的十六进制数据绘制波形

如何解决如何从python中的十六进制数据绘制波形

我想请求帮助我解决这个问题:我有一个设备通过 RS232 连接到电脑并正确配置,所以我根据制造商获取数据。我得到的数据是十六进制格式,我想从中绘制 5 个波形。我的数据如下所示:

import serial
ser = serial.Serial('/dev/ttyUSB0',timeout=4,bytesize=8,baudrate=115200,parity='N',stopbits=1)
x = ser.read(1000)
print(x) # x1c\x00\x00\xe0p\xf0\xe0\x00\xe0\x80\xfcp\x80\xfcpp\x00\x00\xe0\x00\xe0\x8e\xe0\x9e\x1c\x9e\xe0\xe0p\xf0\xe0\xfe\xfcp\xf0\xfcp\xfe\xfcp\x80\x1c\x00\xe0\x0e\xf0\xe0\x8e\xe0\x8e\x1c\x8e\xe0\xe0p\xf0\xe0\xfe\xfcp\xf0\xfcp\xfe\xfcp\x80\x1c\x00\xe0p\xf0\xe0\x8e\xe0\x8e\x1c\x8e\xe0\xe0p\xf0\xe0\xfe\xfcp\xf0\xfcp\xfe\xfcp\x80\x1c\x00\xe0~\xf0\xe0\x8e\xe0\x9e\x1c\x8e\xe0\xe0p\xf0\xe0\xfe\xfcp\xf0\xfcp\xfe\xfcp\x80\x1c\x00\xe0\x80\xfcp\x8e\xe0\x8e\x1c\x8e\xe0\xe0p\xf0\xe0\xfe\xfcp\xf0\xfcp\xfe\xfcp\x80\x1c\x00\xe0\x8e\xfcp\x8e\xe0\x8e\x1c\x8e\xe0\xe0p\xf0\xe0\xfe\xfc\xf0\xe0\xfcp\xfe\xfcp\x80\x1c\x00\xe0\xf0\xfcp\x8e\xe0\x8e\x1c\x8e\xe0\xe0p\xf0\xe0\xfe\xfcp\xf0\xfc\xf0\xfe\xfcp\x80\x1c\x00\xe0\xfe\xfcp\x8e\xe0\x8e\x1c\x8e\xe0\xe0\xf0\xf0\xe0\xfe\xfcp\xf0\xfcp\xfe\xf

我从制造商那里得到了一些说明,他们如下: 设备在定义的时间间隔内提交数据。时间间隔为 2 秒。 数据的传输是自主的,意味着主机不必发送“请求”。 数据作为格式化字符串中的数据包传输。每 400 毫秒传输一个波数据包,样本为 5 个波。样本为“SHORT”类型,间隔为8​​毫秒,因此波形数据频率为125赫兹。:

第一波、第二波、第三波、第四波、第五波

5个波的波样传输如下:

字节含义

  • 1 开始序列 ESC(十六进制 0x1B)
  • 2 CRC 校验和 Highbyte(与数字协议相同)
  • 3 CRC 校验和 Lowbyte(与数字协议相同)
  • 4 个字节的后续数据(高字节)
  • 5 个字节的后续数据(低字节)
  • 6 样本 1 Wave 1 Highbyte
  • 7 Sample 1 Wave 1 Lowbyte
  • 8 样本 1 Wave 2 Highbyte
  • 9 样本 1 Wave 2 Lowbyte
  • 10 样本 1 Wave 3 Highbyte
  • 11 样本 1 Wave 3 Lowbyte
  • 12 样本 1 Wave 4 Highbyte
  • 13 样本 1 Wave 4 Lowbyte
  • 14 样本 1 Wave 5 Highbyte
  • 15 样本 1 Wave 5 Lowbyte
  • 16 个样本 2 Wave 1 Highbyte
  • 17 样本 2 Wave 1 Lowbyte
  • 18 个样本 2 Wave 2 Highbyte
  • 19 样本 2 Wave 2 Lowbyte
  • 20 样本 2 Wave 3 Highbyte
  • 21 样本 2 Wave 3 Lowbyte
  • 22 样本 2 Wave 4 Highbyte
  • 23 样本 2 Wave 4 Lowbyte
  • 24 样本 2 Wave 5 Highbyte
  • 25 样本 2 Wave 5 Lowbyte
  • 26...

在设备上的曲线如下所示: Sample graph

感谢您的建议

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。