Linux UART 的使用
更新时间 | 负责人 | 内容 | 备注 |
---|---|---|---|
2022年1月4日 | Rui | 初次编写文档 | --- |
2022年1月8日 | Rui | 修改文档的编写方式 | 使用 Jupyter notebook 进行编写文档 |
2022年1月18日 | Rui | 修改文档,增加效果图 | 外设文档通过测试的平台有 MaixII-Dock, 使用的是 MaixPy3 0.4.0 |
UART 使用教程
在 Linux 系统中,串口是以设备的形式存在(/dev/ttyS*),所使用的方式和原来的单片机方式有所不同。这是系统标准的 UART 通讯,和 Linux 系统中的串口操作相似。下面以 MaixII-Dock 为例子,来简单的简述一下如何使用 UART。
准备
通过查看开发板的管脚定义图,确定需要使用的 UART 通道。下面的代码是使用 MaixII-Dock 的 UART-1 通道
对于 MaixII-Dock ,不要使用 UART-0 通道来进行串口通讯。这个串口是直连芯片,会有一些其他数据吞吐
将 MaixII-Dock 上 UART-1 TX 和 UART-1 RX 短接即可进行串口通讯测试
开始
运行下列代码,即可进行串口通讯,别的开发板用法同理
In [1]:
import serial
ser = serial.Serial("/dev/ttyS1",115200) # 连接串口
print('serial test start ...')
ser.write(b"Hello Wrold !!!\n") # 输入需要通讯的内容
for i in range(3):
ser.setDTR(True)
ser.setRTS(True)
tmp = ser.readline()
print(tmp)
ser.write(tmp)
ser.setDTR(False)
ser.setRTS(False)
[ rpyc-kernel ]( running at Mon Jan 17 17:12:46 2022 )
serial test start ...
b'Hello Wrold !!!\n'
b'Hello Wrold !!!\n'
b'Hello Wrold !!!\n'
代码中的 /dev/ttyS1
是指串口通道1,不同的开发板,串口的表示方式不一样,请自行查看对应开发板的串口表达方式
这是标准 Python 的串口库,更多的使用查看 Python serial
UART 用途
这是操作系统的标准 URAT,可以和单片机进行串口通讯,也可以对带有串口协议的设备、外设通讯。