Python使用pyserial进行串口通信的实例
作者:kingokay
今天小编就为大家分享一篇Python使用pyserial进行串口通信的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
安装pyserial
pip install pyserial
查看可用的端口
# coding:utf-8 import serial.tools.list_ports plist = list(serial.tools.list_ports.comports()) if len(plist) <= 0: print("没有发现端口!") else: plist_0 = list(plist[0]) serialName = plist_0[0] serialFd = serial.Serial(serialName, 9600, timeout=60) print("可用端口名>>>", serialFd.name)
所发十六进制需转换为以下格式
# 所发十六进制字符串010591F50000F104 cmd = [0x01, 0x05, 0x91, 0xF5, 0x00, 0x00, 0xF1, 0x04]
串口通信
Windows下端口为COM*, Ubuntu下为/dev/ttyS0 import serial class Ser(object): def __init__(self): # 打开端口 self.port = serial.Serial(port='COM4', baudrate=9600, bytesize=8, parity='E', stopbits=1, timeout=2) # 发送指令的完整流程 def send_cmd(self, cmd): self.port.write(cmd) response = self.port.readall() response = self.convert_hex(response) return response # 转成16进制的函数 def convert_hex(self, string): res = [] result = [] for item in string: res.append(item) for i in res: result.append(hex(i)) return result
以上这篇Python使用pyserial进行串口通信的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。