python串口通信接收数据函数
时间: 2024-09-15 16:14:44 浏览: 93
在Python中,通过`pySerial`库可以方便地实现串口通信。如果你需要编写一个函数来接收数据,你可以按照以下步骤操作:
```python
import serial
def receive_data_from_uart(port_name, baudrate=9600):
# 创建Serial实例
ser = serial.Serial(
port=port_name,
baudrate=baudrate,
parity=serial.PARITY_NONE, # 可选,设置校验位,默认无
stopbits=serial.STOPBITS_ONE, # 可选,设置停止位,默认1位
bytesize=serial.EIGHTBITS, # 可选,设置字节大小,默认8位
timeout=1, # 设置超时时间,单位秒
)
try:
while True:
# 读取一行数据
data = ser.readline().decode('utf-8').strip()
if data: # 如果有数据则处理
print("Received data:", data)
# 这里可以根据需要进一步解析或处理data
except KeyboardInterrupt:
print("Ctrl+C detected, closing serial connection...")
finally:
# 关闭串口连接
ser.close()
# 调用函数,例如串口号为COM3,波特率为9600
receive_data_from_uart('COM3')
```
这个函数会持续监听指定端口的数据,并打印接收到的每一行字符串数据。记得将`port_name`替换为你实际的串口设备名称。
阅读全文