如何在Python中访问串行(RS232)端口?
要在Python中访问串行端口,请使用pyserial模块,它是Python串行端口扩展,适用于Win32、OSX、Linux、BSD、Jython、IronPython。
让我们看看这些特点:
- 通过Python属性访问端口设置。
- 支持不同的字节大小、停止位、奇偶校验和RTS/CTS和/或Xon/Xoff流控制。
- 带或不带接收超时的工作。
- 此软件包中的文件是100%纯Python编写的。
- 该端口被设置为二进制传输。不进行空字节剥离、CR-LF转换等。
要安装pyserial,请使用pip。
pip install pyserial
首先导入所需的库。
import time
import serial
然后配置串行连接。
ser = serial.Serial(
port='输入端口',
baudrate=9600,
parity=serial.PARITY_ODD,
stopbits=serial.STOPBITS_TWO,
bytesize=serial.SEVENBITS
)
使用input()获取键盘输入。
input = 1
while 1:
#获取键盘输入
input = input(">> ")
if input == 'exit':
ser.close()
exit()
如果输入不等于exit,请使用write()将字符发送到设备上。
else:
ser.write(input + '\r\n')
out = ''
在读取输出之前等待一秒钟。
time.sleep(1)
while ser.inWaiting() > 0:
out += ser.read(1)
if out != '':
print
">>" + out