Python 串口通信操作
Posted 黄子清
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python 串口通信操作相关的知识,希望对你有一定的参考价值。
下载 pyserial包 https://pypi.python.org/packages/source/p/pyserial/pyserial-2.7.tar.gz#md5=794506184df83ef2290de0d18803dd11
然后解压,例如解压到D:/pyserial.打开cmd,cd 指令切换到D:\pyserial下。执行安装指令 python setup.py install
编写测试代码。
def OpenCom(self,*args): #设置端口和波特率 selComPort =‘com2’ #波特率 selBaudRate =9600 #奇偶校验 selParity = ‘N‘ try: if(not self.mySerial): self.mySerial = serial.Serial(port=selComPort, baudrate=selBaudRate,bytesize=8,parity=selParity,stopbits=1,timeout=5) else: if(self.mySerial.isOpen()): self.mySerial.close() self.mySerial = serial.Serial(port=selComPort, baudrate=selBaudRate, bytesize=8, parity=selParity, stopbits=1, timeout=5) self.lblInfo[‘text‘] = ‘打开成功!‘ except Exception as ex: self.lblInfo[‘text‘] = ‘打开失败!‘
#使用com口发送modbus协议给终端设备。
def btnEmId_Click(self):
barray = bytearray([0x05, 0x03, 0xA#, 0x54, 0x00, 0x08])
vOldEmId = self.txbOldEmId.get()
vNewEmId = self.txbNewEmId.get()
barray[0] = int(vOldEmId)
barray[5] = int(vNewEmId)
#crc校验
strInput = utils.crc16_append(barray)
print(barray)
n = self.mySerial.write(barray)
if(n > 0):
str = self.mySerial.readall()
self.lblInfo[‘text‘] = ‘success!‘
# for s in str:
# print (hex(s))
else:
self.lblInfo[‘text‘] = ‘erroe!
以上是关于Python 串口通信操作的主要内容,如果未能解决你的问题,请参考以下文章