7. RS232

目前硬件上支持RS232的有以下板卡:

  1. LubanCat-3金手指/BTB底板(含有RS232x2)

注意

LubanCat-3金手指/BTB底板的RS232需要跳帽配置切换选择RS232或UART。

7.1. 引脚定义

LubanCat-3金手指/BTB正面图硬件标识图:

../../_images/rs232_0.jpg
  • 图中左边红框为RS232的两个接口,右边红框为UART接口和UART/RS232的选择接口,UART和rs232接口二选一。

7.2. 软件配置

LubanCat-3金手指/BTB底板:

232引脚

对应串口

RS232-1

UART8-M2

RS232-2

UART10-M1

这里以LubanCat-3金手指/BTB底板开启RS232-1为例,开启RS232-1即开启UART8-M2设备树插件,相应的开启RS232-2即开启UART10-M1设备树插件

  • 修改配置文件

1
2
#修改配置文件
sudo vi /boot/uEnv/uEnv.txt

7.2.1. 开启设备树插件

这里以打开RS232-1为例

  • #dtoverlay=/dtb/overlay/rk3576-lubancat-uart8-m2-overlay.dtbo 前面的#删除,如下图

未找到图片

7.2.2. 关闭设备树插件

这里以关闭RS232-1为例

  • dtoverlay=/dtb/overlay/rk356x-lubancat-uart8-m2-overlay.dtbo 前面添加#,如下图

未找到图片

修改完配置文件后需要重启生效

1
2
#重启
sudo reboot

7.3. 使用方法

这里以RS232-1为例

7.3.1. 查询串口的通信参数

串口8外设使能后,在/dev目录下生成ttyS8设备文件,用stty工具查询其通信参数

1
2
3
4
5
6
#在板卡的终端执行如下命令
sudo stty -F /dev/ttyS8

#打印信息如下
speed 9600 baud; line = 0;
-brkint -imaxbel

7.3.2. 修改串口波特率

1
2
3
4
5
6
7
8
#设置通讯速率,其中ispeed为输入速率,ospeed为输出速率
sudo stty -F /dev/ttyS8 ispeed 115200 ospeed 115200

#再次查看通信参数
sudo stty -F /dev/ttyS8
#信息打印如下
speed 115200 baud; line = 0;
-brkint -imaxbel

7.3.3. 关闭回显

默认串口是开启回显的 可以使用以下命令关闭回显

1
2
#关闭回显
sudo stty -F /dev/ttyS8 -echo

如需恢复回显:

1
2
#恢复回显
sudo stty -F /dev/ttyS8 echo

7.3.4. 通讯

1
2
3
4
5
6
7
8
#需要在root用户下运行,切换root
sudo -s

#发送消息
echo "I'm lubancat" > /dev/ttyS8

#接收消息
cat /dev/ttyS8

7.4. 自检测试

该测试需要把两个RS232引脚的相连接

T1

连接

R2

R1

连接

T2

然后需要同时打开RS232-1和RS232-2的设备树插件。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
#需要在root用户下运行,切换root
sudo -s

#RS232-2后台接收
cat /dev/ttyS10 &

#RS232-1发送消息
echo "1234567890" > /dev/ttyS8
#终端打印信息
1234567890

发送完成就可以看到打印发送的消息到终端了。

如果想结束后台运行的 cat /dev/ttyS10 &,参照以下操作:

1
pkill cat

RS232-1接收&RS232-2发送的方法与上述方法类似,可以自行修改操作。