本帖最后由 linzhao789 于 2019-11-12 11:24 编辑
※ 本文基于迅为iTOP-IMX6开发板内容如下:
串口是计算机上一种非常通用的设备通信协议,在嵌入式 linux 开发中,console 控制台
大多数情况下都是使用串口,另外还有大量的模块也是使用串口。
本文档介绍开发板安装 Android 系统之后,如何测试 RS-232 串口。
1 串口基础知识
RS-232 串口的电气特性如下:
1、RS-232 串口通信最远距离是 15 米;
2、RS232 可做到双向传输,全双工通讯,最高传输速率 20kbps 3)RS-232C 上传送的
数字量采用负逻辑,且与地对称 逻辑 1:-3~-15V 逻辑 0:+3~+15V。
PC 机主机后有 9 针的 com 口(串口)在工业控制和数据采集上应用广泛,不过最新的
PC 机可能默认不自带 com 口。在嵌入式中,串口应用就更加广泛了,几乎所有的嵌入式产品
中,都会用到串口。
如下图所示,右边方框中的是 2 个串口接口,一般称为 RS232 接口(DB9 封装,另外还
有 DB25 的封装,但是现在已经不常用了),左边的椭圆框中的是电平转换芯片,型号是
MAX3232,将 3.3V 的 TTL 串口电平转换为 RS232 电平,另外还有 MAX232 将 5V 的 TTL
串口电平转换为 RS232 电平等。
如下表所示,串口 9 针的定义。虽然串口现在常用 9 针的封装,但是实际上使用的最多
的是其中 3 个管脚,TXD:数据发送管脚、RXD:数据接收管脚、SGND:信号地。
另外在嵌入式应用中,经常也会需要用到 TTL-5V、TTL-3.3V 和 TTL-1.8V 串口,测试方
式和例程是类似的。
如果 PC 机者 ARM 板没有足够的串口,均可以采用 USB 转串口(PL2303 等)模块将
USB 信号转换为 RS232 信号。
2 Android 串口测试准备工作
2.1 adb 基础
用户可以参考用户手册的 3.6 小节 安卓 ADB 功能介绍,安装 adb 驱动学习使用 adb 的
使用方法。
2.2 硬件连接
如下图所示,是 iMX6Q/D 的硬件连接。如果没有多余的 USB 转串口,可以只接上方的
测试串口,不用接下边的控制台串口。
2.3 APK 的安装
将源码包“topeet_android_serialport.7z”解压,其中“serialport.zip”是 android 的
源码包,android 测试程序的 APK 是解压出来源码文件夹中的“bin”目录下的
serialport.apk。
拷贝 serialport.apk 到 fastboot 或者 platform-tools 目录下(参考用户手册 3.6 小
节),开发板启动 android 系统,然后接上 OTG 接口,打开 cmd.exe,如下图所示,使用命
令“adb -d install serialport.apk”安装 APK。
3 软件测试
软硬件全部准备就绪之后,打开开发板上的 Serialport 应用程序,如下图所示。
如上图所示,点击“setup”,弹出设置界面,如下图所示,在 Device 中将设备节点设
置为 ttySAC3。
将“Baud rate”选项设置为 115200。
设置结果如下图所示。
打开源码包“topeet_android_serialport.7z”解压出的串口助手,对串口助手进行设
置,串口号由设备管理器中查看,然后选择打开串口。
返回开发板上的 Serialport 应用程序的组界面,如下图所示。
serialport 软件中点击 Console,如下图所示,这个界面为发送和接收界面。
在上图所示的“Emission”框中输入 123,点击回车可以在串口助手中收到发送的信
息;在串口助手中发送框输入 abc,然后点击发送,可以在开发板的 Reception 中看到接收
到的信息。
另外这个串口测试软件,还有其它测试功能。
返回开发板上的 Serialport 应用程序的组界面,如下图所示
会看到开发板不断发送数据。
串口助手可以看到接收数据总数在增加,如下图所示,但是不显示接收到的具体数据。
进入“Send 01010101”,开发板会不断发送二进制数据 01010101。
串口助手选择 HEX 显示,则超级终端一直显示接收到的 16 进制数据 55。
返回主界面,点击 About 可以查看软件的相关信息。
题外:迅为iTOP-IMX6支持安卓7.1系统了
|