如何在Python中访问串行(RS232)端口?

如何在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
Bash

首先导入所需的库。

import time
import serial
Bash

然后配置串行连接。

ser = serial.Serial(
   port='输入端口',
   baudrate=9600,
   parity=serial.PARITY_ODD,
   stopbits=serial.STOPBITS_TWO,
   bytesize=serial.SEVENBITS
)
Bash

使用input()获取键盘输入。

input = 1
while 1:
   #获取键盘输入
   input = input(">> ")
   if input == 'exit':
      ser.close()
      exit()
Bash

如果输入不等于exit,请使用write()将字符发送到设备上。

else:
   ser.write(input + '\r\n')
   out = ''
Bash

在读取输出之前等待一秒钟。

time.sleep(1)
while ser.inWaiting() > 0:
   out += ser.read(1)

if out != '':
   print
   ">>" + out
Bash

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程