Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

python 串口通信

作者:炼狱死神   发布日期:2026-04-06   浏览:97

import serial
import time

# 创建串口对象,指定端口、波特率等参数
ser = serial.Serial(
    port='COM3',       # 端口号,请根据实际情况修改
    baudrate=9600,     # 波特率
    parity=serial.PARITY_NONE,  # 校验位
    stopbits=serial.STOPBITS_ONE,  # 停止位
    bytesize=serial.EIGHTBITS,    # 数据位
    timeout=1            # 超时设置
)

if ser.isOpen():
    print("串口已打开")
else:
    print("无法打开串口")
    exit()

try:
    while True:
        # 发送数据
        send_data = "Hello from Python\r\n"
        ser.write(send_data.encode('utf-8'))
        print(f"发送: {send_data}")

        # 接收数据
        if ser.in_waiting > 0:
            receive_data = ser.read(ser.in_waiting).decode('utf-8')
            print(f"接收: {receive_data}")

        time.sleep(1)  # 每隔1秒发送一次数据

except KeyboardInterrupt:
    print("程序被用户中断")

finally:
    ser.close()
    print("串口已关闭")

解释说明:

  1. 导入模块serial 是用于串口通信的模块,time 用于延时。
  2. 创建串口对象:使用 serial.Serial() 创建一个串口对象,并设置端口、波特率等参数。注意 port 参数需要根据实际使用的串口进行修改。
  3. 检查串口是否打开:通过 ser.isOpen() 检查串口是否成功打开。
  4. 发送和接收数据:使用 ser.write() 发送数据,使用 ser.read() 接收数据。ser.in_waiting 表示缓冲区中等待读取的数据量。
  5. 异常处理:使用 try-except-finally 结构来捕获用户中断(如 Ctrl+C),并在最后确保串口关闭。
  6. 循环发送数据:每隔1秒发送一次数据,并在接收到数据时打印出来。

希望这段代码能帮助你理解 Python 中如何进行串口通信。

上一篇:python线上编辑器

下一篇:python flask框架

大家都在看

python 二维码识别

python excel 库

python时间格式

pythoneval函数用法

列表切片操作python

python读取文件路径

staticmethod在python中有

python 保存json文件

python开发windows应用程序

python中len是什么意思

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站