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机必备的通信接口之一,在嵌入式领域串口通信具有重要特殊的地位。
-
- 通讯方式上是单字节通讯,是嵌入式开发中的重要调试手段之一。
-
- 最简单的串行通信方式,232、485通讯都是指这个串口通讯。
-
- 硬件接线简单,与微控制器引脚直接相连的,只需要发送线接受线和地线 。
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 插件。