赞
踩
windows上找个串口通信工具
Linux上查看设备列表
有可能需要安装串口驱动,去设备管理器中安装一下
或这个一般串口开发,厂家都会给驱动和串口调试工具
如果串口调试工具调试没有问题了
接下来你用python代码调试
你需要在python环境中安装pyserial
库
pip install pyserial
https://blog.csdn.net/sprawling/article/details/50477166
import os import serial.tools.list_ports port_list = list(serial.tools.list_ports.comports()) print(port_list)#if there is no serial ports,here wil show '[]'. array mode if len(port_list) == 0: print('No serial ports.') else: for i in range(0,len(port_list)): print(port_list[i]) os.system("pause")
根据显示的串口列表或者从设备管理器中看到的结果
def initSerial():
print()
if platform.system() == "Windows":
# 根据情况看要不要E
# 串口名, 比特率等参数根据 设备通信协议来设置
# ser = serial.Serial("COM3", 115200, 8, "E", timeout=50, stopbits=1)
ser = serial.Serial("COM3", 115200, 8, timeout=50, stopbits=1)
print('开启ser', ser)
elif platform.system() == "Linux":
# print("linux sys")
ser = serial.Serial("/dev/ttyUSB1", 9600, 8, timeout=50, stopbits=1)
# ser = serial.Serial("/dev/ttyUSB1", 9600, 8, "E", timeout=50, stopbits=1)
else:
print('不认识的操作系统')
return ser
此处有获取到的是16进制数据
有的直接获取的byte, 根据情况来获取
def getData(ser): time.sleep(1) count = ser.inWaiting() print(count) # 数据的接收 if count > 0: data = ser.read(count) print( data ) if data != b'': # 将接受的16进制数据格式如b'h\x12\x90xV5\x12h\x91\n4737E\xc3\xab\x89hE\xe0\x16' # 转换成b'6812907856351268910a3437333745c3ab896845e016' # 通过[]去除前后的b'',得到我们真正想要的数据 # print("receive", str(binascii.b2a_hex(data))[2:-1]) # res = str(binascii.b2a_hex(data))[2:-1] # print('res1-->', res) res = str(data)[2:-1] # print('res2-->', res) if res.startswith("$") and res.endswith("\\r\\n"): # if res.startswith("$") and res.endswith("\r\n"): parseData(res) else: print('数据格式由问题') print(res) savefile(res,filename='error.txt') return res # else: # print('没有接收到数据')
这一步中,数据位代表的内容不同,无法做到统一,根据通信协议文档来吧
def parseData(res):
pass
当然一般我会将整个过程封装到一个流程函数中
类似于
def start():
"""
流程函数
:return:
"""
ser = initSerial()
# for i in range(1, 5):
while True:
# time.sleep(0.5)
res = getData(ser)
# res = "01030e01a70002000d000e0011011401eae53e"
# parseData(res)
# print(d)
return ''
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。