LubanCat系列 android系统中串口&& RS232 && RS485的基本使用
串口通讯
本章主要讲解LubanCat系列 android系统中串口的基本使用。搭配本套案例的板卡为lubancat-2io,其他串口方法类似。
7.1. 准备工作
lubancat-2io *1 ,ch340串口模块*1 , 野火多功能调试助手
对应截图

-
需要使用到4个跳线帽将j14、j13上的引脚连接起来

| 板卡 | ch340模块 |
|---|---|
| TXD | RXD |
| RXD | TXD |
| GND | GND |
-
板卡tx、rx对接模块rx、tx
7.2. 检查串口设备
查看串口功能是否开启

7.3. 安卓串口通讯实验(Shell)
本次使用板卡上的串口9进行实验,对应的设备文件为/dev/ttyS9。 通过adb shell可对tty的设备文件直接读写就可以控制设备通过串口接收或发送数据。下面我们使用板卡配合Windows下的野火多功能调试助手进行测试。
7.3.1. 连接串口
实验前需要使用串口模块将板卡与电脑连接起来。
7.3.2. 查询串口9的通信参数
串口9外设使能后,在/dev目录下生成ttyS9设备文件,用stty工具查询其通信参数
1 2 | #在板卡的终端执行如下命令 stty -F /dev/ttyS9 |
如下图:

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

7.3.4. 关闭回显
默认串口是开启回显的 可以使用以下命令关闭回显
1 | stty -F /dev/ttyS9 -echo |
7.4. 与Windows主机通讯
配置好串口调试助手后,尝试使用如下命令测试发送数据:
1 2 3 4 5 | #在板卡上的终端执行如下指令 #使用echo命令向终端设备文件写入字符串"Hello!"、"I'm lubancat" echo Hello! > /dev/ttyS9 echo "I'm lubancat" > /dev/ttyS9 #Windows上的串口调试助手会接收到内容 |
如下图:

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

Hello lubancat!
7.5. Android apk测试工具
如下图:

进入app后,选择好串口和波特率,点击打开即可。 在edittext中输入内容,点击发送,在多功能调试助手中可以查看串口发送的内容。 在多功能调试助手中点击发送,可以在textview查看到串口接收到的信息。

网盘提取码:hslu。
配套apk地址: uart_apk
7.6. 更多
更多关于uart的使用以及资料可以查阅: rk开源手册/Common/UART
7.7. 参考资料
本文档主要提供有一定经验的使用者快速入门使用,对于初学者可查看以下文档:
设备树相关知识点请阅读下面章节的内容:
rk开源资料(github): 《开源手册》
RS232 && RS485
本章介绍内容为RS-232和RS-485
8.1. RS232
RS-232是美国电子工业联盟制定的串行数据通信接口标准,原始编号全称是EIA-RS-232(简称RS232),它被广泛用于DCE(Data Communication Equipment ) 和 DTE(Data Terminal Equipment) 之间的连接。
-
LubanCat-2io底板(含有RS232x2)
正面图硬件标识图

-
图中j13、j14需要使用到跳线帽来进行串口和RS232的选择接口,ttl串口和rs232接口二选一
-
使用RS232需要用4个跳帽连接,如图下所示
-
rs232的座子的引脚定义已经标注在图中
8.1.1. 软件配置
| 232引脚 | 对应串口 |
| RS232-1 | UART7-M1 |
| RS232-2 | UART9-M1 |
这里以开启 RS232 为例,开启对应的串口功能
-
修改设备树文件

修改完配置文件后需要重新编译固件并且烧写
8.1.2. 使用方法
这里以RS232-1为例
8.1.2.1. adb shell查询串口9的通信参数
串口9外设使能后,在/dev目录下生成ttyS9设备文件,用stty工具查询其通信参数
1 2 | #在板卡的终端执行如下命令 stty -F /dev/ttyS9 |
如下图:

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

8.1.2.3. 关闭回显
默认串口是开启回显的 可以使用以下命令关闭回显
1 2 3 | #需要在root用户下运行 stty -F /dev/ttyS9 -echo |
8.1.2.4. 通讯
1 2 3 4 5 | #发送消息 echo "I'm lubancat" > /dev/ttyS9 #接收消息 cat /dev/ttyS9 |
8.1.3. 自检测试
该测试需要把三个RS232引脚的相连接
| T1 | 连接 | R2 |
| GND | 连接 | GND |
| R1 | 连接 | T2 |
8.1.3.1. RS232-1发送&RS232-2接收
1 2 3 4 5 6 | #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发送的方法与上述方法类似,可以自行修改操作
8.1.4. android apk测试
android串口apk也可以在232进行测试,测试效果如下
网盘提取码:hslu。
配套apk地址: uart_apk <https://pan.baidu.com/s/19t8AZV9SYTdjn2uObBiSGA#list/path=%2Fsharelink1463230356-821055607364575%2F%E9%B2%81%E7%8F%AD%E7%8C%AB_%E7%91%9E%E8%8A%AF%E5%BE%AE%E7%B3%BB%E5%88%97%2F4-Android%E9%95%9C%E5%83%8F%2Fandroid_apk_list%2Fuart&parentPath=%2Fsharelink1463230356-821055607364575>
8.2. RS485
485,通信接口的远程称重数据采集方法,在要求通信距离为几十米到上千米时,广泛采用RS-485串行总线标准。RS-485采用平衡发送和差分接收,因此具有抑制共模干扰的能力。
8.2.1. 硬件标识和引脚定义
8.2.1.1. 硬件标识
LubanCat-2金手指底板:

8.2.1.2. 引脚定义
LubanCat-2io底板
| 485引脚 | 对应串口 | 流控引脚 |
| RS485-1 | UART3-M1 | GPIO2_PD2 |
| RS485-2 | UART4-M1 | GPIO2_PD3 |
8.2.2. 使用驱动层换流
这里以开启2io 上 RS485为例。

RS485在板卡上的测试方法跟RS232相差不大。
更多推荐





所有评论(0)