6. 串口通讯¶
本章配套视频介绍:

《30-在鲁班猫上使用UART串口》
https://www.bilibili.com/video/BV1us4y1v7fC/
本章主要讲解LubanCat-RK3562/RK3566/RK3568系列板卡的40pin引脚中串口的基本使用。
6.1. 串口引脚关系¶
其中串口的引脚关系如下表所示
串口 |
引脚 |
功能 |
---|---|---|
TXD |
8 |
发送信号线 |
RXD |
10 |
接受信号线 |
对应实物的40pin接口

LubanCat-Zero系列使用的是uart8
LubanCat-1系列和LubanCat-2系列使用的是uart3
虽然名字不一样,操作方式是一样的
6.2. 使能串口接口¶
串口在默认情况是关闭状态的,需要使能才能使用
6.2.1. 方法一¶
1 2 3 4 5 | #进入工具配置
sudo fire-config
#移动光标到下图的位置
#按确认键进入配置
|

打开串口
使用方向键移动光标到
UART
按 “空格键” 选中UART(出现 “*” ),如下图
按 “确认键” 进行设置
按 “Esc键” 退出到终端,运行 sudo reboot 进行重启应用

6.2.2. 方法二¶
板卡 |
设备树插件配置文件 |
---|---|
LubanCat-Zero-W |
uEnvLubanCatZW.txt |
LubanCat-Zero-N |
uEnvLubanCatZN.txt |
LubanCat-1 |
uEnvLubanCat1.txt |
LubanCat-1N |
uEnvLubanCat1N.txt |
LubanCat-2 |
uEnvLubanCat2.txt |
新版LubanCat-2 |
uEnvLubanCat2-V1.txt |
LubanCat-2N |
uEnvLubanCat2N.txt |
可以通过打开 /boot/uEnv/board.txt (board是你所用的板子的名称) 查看是否启用了uart相关设备设备树插件。
编辑文件,将带有 uart (以uart3为例) 的那一行的注释符号去掉 如下图:

然后重启激活设备
注解
如果是直接拔电源的方式重启,会有可能出现文件没能做出修改 (原因:文件未能及时从内存同步到存储设备中,解决方法,在终端上输入 “sync” 再拔电关机)
6.3. 检查串口设备¶
查看串口有没有成功使能
1 2 | #执行命令查看终端设备
ls /dev/tty*
|
LubanCat-Zero系列使用的是ttyS8
LubanCat-1系列和LubanCat-2系列使用的是ttyS3
如下图(作者使用LubanCat-1):

6.4. 串口通讯实验(Shell)¶
本次实验以LubanCat-1板卡讲解,其他板子的操作和本实验类似,这里就不过多赘述了。 使用板卡上的串口3进行实验,对应的设备文件为/dev/ttyS3。 对tty的设备文件直接读写就可以控制设备通过串口接收或发送数据,下面我们使用板卡配合Windows下的串口调试助手或Linux下的minicom进行测试。
6.4.2. 查询串口3的通信参数¶
串口3外设使能后,在/dev目录下生成ttyS3设备文件,用stty工具查询其通信参数
1 2 | #在板卡的终端执行如下命令
stty -F /dev/ttyS3
|
如下图:

6.4.3. 修改串口波特率¶
1 2 | #设置通讯速率,其中ispeed为输入速率,ospeed为输出速率
stty -F /dev/ttyS3 ispeed 115200 ospeed 115200
|
如下图:

6.5. 与Windows主机通讯¶
配置好串口调试助手后,尝试使用如下命令测试发送数据:
1 2 3 4 5 | #在板卡上的终端执行如下指令
#使用echo命令向终端设备文件写入字符串"Hello!"、"I'm lubancat"
echo Hello! > /dev/ttyS3
echo "I'm lubancat" > /dev/ttyS3
#Windows上的串口调试助手会接收到内容
|
如下图:

可以看到,往/dev/ttyS3设备文件写入的内容会直接通过串口线发送至Winodws的主机。
而读取设备文件则可接收Winodws主机发往板卡的内容,可以使用cat命令来读取:
1 2 3 4 5 6 7 | #在板卡上的终端执行如下指令
#使用cat命令读取终端设备文件
cat /dev/ttyS3
#cat命令会等待
#使用串口调试助手发送字符串
#字符串最后必须加回车!
#板卡的终端会输出接收到的内容
|
如下图:

Hello lubancat!
6.6. minicom通讯¶
1 2 3 4 5 | #安装minicom软件包
sudo apt install minicom
#设置串口
sudo minicom -s
|
如下图:

进入设置,修改串口或者波特率,按键盘上的字母进入各自要设置的东西,enter键确认

设置完成后,可以按这按键保存配置,保存后,以后打开不用设置

然后按exit键进入minicom的终端

如果你输入字母,屏幕上没反应,可以通过打开回显来显示, 先按“ctrl + A” 再按’z’键进入菜单

按下’e’,回显就打开成功了(左下角会有提示,打开或者关闭),可以按下按键测试一下,观察是否有回显, 我们还可以先按“ctrl + A” 再按’z’键,再按’c’键来清除屏幕, 将板卡和电脑用串口线连起来,同时设置为115200, 在板卡上,输入”Hello! i’m lubancat!’’

注意
使用minicom时,不能使用退格键把发出去的内容删掉, minicom是以单个字符的方式发送的。
我们可以在pc端发送文字

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | minicom的菜单有很多功能,
s ---- 发送文件
p ---- 设置通讯参数,包括一些预设的波特率,数据格式,数据位等
l ---- 就可以将log信息保存到一个文件中了,方便查看
t ---- 设置终端参数,以及键位设置
w ---- 超出一行的数据后自动换行
r ---- 接收文件
a ---- 换行发送时会增加时间戳
n ---- 增加时间戳
c ---- 清除屏幕
o ---- 设置minicom,相当于sudo minicom -s
j ---- 休眠状态
x ---- 退出的同时复位
q ---- 退出
你也可以不用通过按 "ctrl + a" + 'z' + '?'的方式设置
而是直接使用"ctrl + a" + '?'
|