成都创新互联网站制作重庆分公司

python串口函数 python串口控制

Python如何进行多串口通信?一个串口控制电机 一个串口采集数据?

下载 pyserial包

创新互联公司是一家专注于成都网站建设、成都网站设计与策划设计,锦屏网站建设哪家好?创新互联公司做网站,专注于网站建设十多年,网设计领域的专业建站公司;建站业务涵盖:锦屏等地区。锦屏做网站价格咨询:13518219792

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'] = 'error!'

python的串口close()函数关闭不成功

用ser.isOpen()查看返回False,说明ser.close()起作用了啊。用管理员身份打开cmd,再执行脚本试试?

python对串口蓝牙模块的操作

python提供了丰富的module 对串口的操作同样有对应的module:serial

环境:python3.5 蓝牙模块:HC-05 波特率38400

首先导入serial模块(通过pip install serial 安装)

获取串口ser 通过serial.Serial(地址,波特率,超时时间)

创建线程监听串口数据

使用 ser.in_waiting() 获知数据量 这个函数返回当前串口收到的数据长度

收取数据后进行详细操作

如何用python写个串口通信的程序

使用 pyserial 就可以处理串口通信,这个包是跨平台的。

示例程序在这里:

import serial

# 创建serial实例

serialport = serial.Serial()

serialport.port = 'COM1'

serialport.baudrate = 9600

serialport.parity = 'N'

serialport.bytesize = 8

serialport.stopbits = 1

serialport.timeout = 0.6

try:

serialport.open()

serialport.setDTR(True)

serialport.setRTS(True)

except Exception, ex:

print ex

# 发送数据

serialport.write(raw_data)

# 根据项目要求,可以开一个线程扫描接收数据


新闻名称:python串口函数 python串口控制
转载源于:http://cxhlcq.com/article/dogdcip.html

其他资讯

在线咨询

微信咨询

电话咨询

028-86922220(工作日)

18980820575(7×24)

提交需求

返回顶部