串口编程的设置主要包括以下几个步骤:
安装串口库
在Windows上,可以使用`pip install pyserial`命令进行安装。
在Linux或Mac系统上,可能需要使用`sudo pip install pyserial`命令,或者确保当前用户有足够的权限访问串口设备。
创建串口对象
导入`serial`模块。
使用`serial.Serial()`函数创建一个串口对象,指定串口号和波特率。例如:
```python
import serial
ser = serial.Serial('COM3', 9600) Windows系统
或
ser = serial.Serial('/dev/ttyUSB0', 9600) Linux系统
```
配置串口参数
波特率:设置串口通信的波特率,常用9600。
数据位:设置每字节的数据位数,常见的有8位。
校验位:设置校验位,常见的有无校验(N)。
停止位:设置停止位的数量,常见的有1位。
超时时间:设置读取数据时的超时时间,单位是秒。
发送和接收数据
发送数据:使用`write()`方法发送数据,数据需要先编码为字节串。例如:
```python
ser.write(b'hello')
```
接收数据:使用`read()`方法接收数据,可以指定读取的字节数。例如:
```python
data = ser.read(5)
print(data.decode())
```
关闭串口
在完成串口通信后,记得关闭串口,以释放资源。例如:
```python
ser.close()
```
示例代码
```python
import serial
import time
创建串口对象
ser = serial.Serial('COM3', 9600, timeout=1) Windows系统
ser = serial.Serial('/dev/ttyUSB0', 9600, timeout=1) Linux系统
检查串口是否打开
if ser.is_open:
print("串口打开了!")
发送数据
ser.write(b'Hello, World!')
接收数据
data = ser.readline()
print(data.decode('utf-8'))
关闭串口
ser.close()
print("串口关上了!")
```
注意事项
确保串口号正确,Windows系统通常以`COM`开头,Linux和Mac系统通常以`/dev/ttyUSB`或`/dev/ttyACM`开头。
如果遇到权限问题,Linux和Mac用户可能需要使用`sudo`命令。
在配置串口参数时,确保所有参数与目标设备的设置一致,否则可能导致通信失败。