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#修改配置文件
2sudo 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#重启
2sudo reboot

7.3. 使用方法#

这里以RS232-1为例

7.3.1. 查询串口的通信参数#

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

1#在板卡的终端执行如下命令
2sudo stty -F /dev/ttyS8
3
4#打印信息如下
5speed 9600 baud; line = 0;
6-brkint -imaxbel

7.3.2. 修改串口波特率#

1#设置通讯速率,其中ispeed为输入速率,ospeed为输出速率
2sudo stty -F /dev/ttyS8 ispeed 115200 ospeed 115200
3
4#再次查看通信参数
5sudo stty -F /dev/ttyS8
6#信息打印如下
7speed 115200 baud; line = 0;
8-brkint -imaxbel

7.3.3. 关闭回显#

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

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

如需恢复回显:

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

7.3.4. 通讯#

1#需要在root用户下运行,切换root
2sudo -s
3
4#发送消息
5echo "I'm lubancat" > /dev/ttyS8
6
7#接收消息
8cat /dev/ttyS8

7.4. 自检测试#

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

T1

连接

R2

R1

连接

T2

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

 1#需要在root用户下运行,切换root
 2sudo -s
 3
 4#RS232-2后台接收
 5cat /dev/ttyS10 &
 6
 7#RS232-1发送消息
 8echo "1234567890" > /dev/ttyS8
 9#终端打印信息
101234567890

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

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

1pkill cat

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