9. RS232

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

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

  2. LubanCat-1BTB底板(含有RS232x2)

  3. LubanCat-1H底板(含有RS232x4)

  4. LubanCat-1HS底板(含有RS232x4)

  5. LubanCat-2金手指底板(含有RS232x2)

  6. LubanCat-2BTB底板(含有RS232x2)

  7. LubanCat-2H底板(含有RS232x2)

注意

其中LubanCat-2金手指/BTB的RS232需要跳帽配置,其他板卡不需要。

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

LubanCat-2M板卡硬件资源图
  • 图中左边红框为RS232的两个接口,右边红框为串口和RS232的选择接口,ttl串口和rs232接口二选一

  • 使用RS232需要用跳帽连接,如图下所示

LubanCat-2M板卡硬件资源图

9.1. 引脚定义

具体的引脚定义可以参考背面的丝印

  1. LubanCat-2金手指底板引脚定义图:

LubanCat-2M板卡硬件资源图
  1. LubanCat-1HS底板引脚定义图:

../../_images/rs232-pin-2.jpg

其他板卡可结合底板丝印和原理图确认具体引脚。

9.2. 软件配置

LubanCat-1金手指/BTB底板:

232引脚

对应串口

RS232-1

UART4-M1

RS232-2

UART3-M1

LubanCat-1H底板:

232引脚

对应串口

RS232-1-1

UART4-M1

RS232-1-2

UART5-M1

RS232-2-1

UART7-M1

RS232-2-2

UART9-M1

LubanCat-1HS底板:

232引脚

对应串口

RS232-1-1

UART2-M1

RS232-1-2

UART3-M1

RS232-2-1

UART4-M0

RS232-2-2

UART7-M0

LubanCat-2金手指/BTB底板:

232引脚

对应串口

RS232-1

UART7-M1

RS232-2

UART9-M1

LubanCat-2H底板:

232引脚

对应串口

RS232-1

UART6-M0

RS232-2

UART7-M0

提示

如果/boot/uEnv/uEnv.txt没有对应的UART插件则说明在主设备树中已经默认开启了接口,无需再使用插件开启,可直接使用接口。

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

  • 修改配置文件

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

9.2.1. 开启设备树插件

这里以打开RS232-1为例

  • #dtoverlay=/dtb/overlay/rk356x-lubancat-uart7-m1-overlay.dtbo 前面的#删除,如下图

未找到图片

9.2.2. 关闭设备树插件

这里以关闭RS232-1为例

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

未找到图片

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

1
2
#重启
sudo reboot

9.3. 使用方法

这里以RS232-1为例

9.3.1. 查询串口3的通信参数

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

1
2
3
4
#需要在root用户下运行

#在板卡的终端执行如下命令
stty -F /dev/ttyS7

如下图:

未找到图片

9.3.2. 修改串口波特率

1
2
3
4
#需要在root用户下运行

#设置通讯速率,其中ispeed为输入速率,ospeed为输出速率
stty -F /dev/ttyS7 ispeed 115200 ospeed 115200

如下图:

未找到图片

9.3.3. 关闭回显

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

1
2
3
#需要在root用户下运行

stty -F /dev/ttyS7 -echo

9.3.4. 通讯

1
2
3
4
5
6
7
#需要在root用户下运行

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

#接收消息
cat /dev/ttyS7

除了这种方法外,还可以使用minicom,具体方法可以参考下列文章 串口章节

9.4. 自检测试

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

T1

连接

R2

GND

连接

GND

R1

连接

T2

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

1
2
3
4
5
6
7
8
#需要在root用户下运行

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

#RS232-1发送消息
echo "1234567890" > /dev/ttyS7
echo "abcdefghijklmn" > /dev/ttyS7

发送完成就可以看到有接收到消息了,如下图所示

未找到图片

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

1
pkill cat

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