python实现串口收发

python 实现串口通信

1. python 安装在vscode中运行

参考 搭建环境 .

官网下载 安装 python-3.8.0-amd64.exe。

用 python 解释器: 使用Ctrl+Shift+P打开命令板,输入Python: Select Interpreter进行搜索。

提示安装 pylint pytest .

F5 运行python

选择一行或者多行,使用 Shift+Enter 或者右键选择在Python终端中运行选定内容/行运行一部分代码。

到这里VScode就可以编辑python代码了,编辑完代码按F5即可运行。初次运行会让你选环境,选择python即可。

默认按F5后需要再按一次F5程序才会运行,如果要按F5马上运行需要将launch.json文件的 “stopOnEntry”: true,改为 “stopOnEntry”: false。

推介插件,vscode-icons可以使VScode左侧的资源管理器根据文件类型显示图标。

调试运行界面如图
在这里插入图片描述

python 安装完成后,安装目录在

C:\Users\sundm\AppData\Local\Programs\Python\Python38

需要添加环境变量2个环境变量 ,如图示 。
在这里插入图片描述

2. 串行通信的基础知识

串行接口 即异步串行通信 ,也叫做 串行通信接口/异步串行通信/UART 常称为“串口”或SCI,在USB未普及之前,是PC机必备通信接口之一。虽然现在电脑 已经不再提供串口,但有USB转串的转接线。在USB未普及之前,是PC机必备的通信接口之一,在嵌入式领域串口通信具有重要特殊的地位。

    1. 通讯方式上是单字节通讯,是嵌入式开发中的重要调试手段之一。
    1. 最简单的串行通信方式,232、485通讯都是指这个串口通讯。
    1. 硬件接线简单,与微控制器引脚直接相连的,只需要发送线接受线和地线 。

3. python 串口模块的安装

在终端运行以下命令安装 pyserial模块。

pip install pyserial

4. 编写软件

流程说明:

  • 程序运行后,不停接收;
  • 接收到一个字符,便打印出来 ,同时原路写回;
  • 收到到字符 ‘x’ ,后退出。
import serial
from time import sleep

def recv(serial):
    while True:
        data = serial.read_all()
        if data == '':
            continue
        else:
            break
        sleep(0.02)
    return data

if __name__ == '__main__':
    serial = serial.Serial('COM5', 115200, timeout=0.5)  
    if serial.isOpen() :
        print("open success")
    else :
        print("open failed")

    while True:
        data =recv(serial)
        if data != b'' :
            print("receive : ",data)
            serial.write(data) #数据写回
            if data == b'x':
                print("exit")
                break


          if data == b'x':
                print("exit")
                break

注意: 代码中 ,“COM5” 必须设备管理器中查看存在这个串口。

5. 报错

& C:/Users/sundm/AppData/Local/Programs/Python/Python38/python.exe g:/桌面bak/python界面网络制作/py-serial/test_serial.py
  File "<stdin>", line 1
    & C:/Users/sundm/AppData/Local/Programs/Python/Python38/python.exe g:/桌面bak/python界面网络制作/py-serial/test_serial.py
    ^
SyntaxError: invalid syntax
  • 原因
    格式错误导致的
  • 解决方法
    插件版本的bug,重新安装 python 插件。

猜你喜欢

转载自blog.csdn.net/sundm75/article/details/107040181