0、序
在python中进行串口的相关应用编程,需要借助pyserial这个库。
安装串口库:
pip3 install pyserial
如果你使用的是python2.x,那么你使用pip安装的方式如下:
pip install pyserial
1、编程范式
1.1、初始化
class UartInit(object):
def __init__(self, serial, baud):
self.ser = serial.Serial(serial, baudrate=baud, timeout=0.1,
bytesize=8, parity='N', stopbits=1, xonxoff=0,rtscts=0)
self.ser.flushInput()
self.ser.flushOutput()
1.2、串口写处理
def datasend(self, cmd='', max_time=def_max_time):
ser = self.ser
cmd = cmd + '\n'
cmd = cmd.encode("ascii")
ser.flushInput()
ser.flushOutput()
ser.write(cmd)
Gotstr = self.receive(max_time)
logging.info('Tx -> ' + unicode_str)
if Gotstr == None or len(unicode_str.strip()) == 0:
self.logging.warning('Returning empty response for Tx -> ' + cmd)
return ''
return unicode_str
1.3、串口读处理
def receive(self, max_time=def_max_time):
ser = self.ser
ret =b''
start = prev = time.time()
while True:
curr = time.time()
if (curr - start > max_time):
break
c = ser.read()
if len(c):
ret += c
prev = curr
Gotstr = ret.decode("utf-8", "ignore")
return Gotstr
注:上述的datasend 和 receive都是class UartInit中的方法。
1.4、实例化
import os
import sys
import time
import logging
import string
import serial
def_max_time = 3
if __name__ == '__main__':
usrt1 = UartInit('COM1', 230400)
usrt1.datasend('hello_world')
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/116954.html