飞思卡尔iMX6开发板-Android-串口测试文档(升级版)

※ 本文基于迅为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系统了

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
软件介绍: 平时我们最常用到的下载程序的方法是通过USB数据线或其他数据线进行程序的烧写,这个方式是通过外界提供给单片机高电压来对flash擦除和写入完成的。而Bootloader不需要外界提供高电压仅靠正常工作电压便可完成对flash的擦除和写入,从而达到更新程序的目的。Bootloader的最大优点是:在不需要外部编程器的情况下,对嵌入式产品的应用代码进行更新升级。它使得通过局域网或者Intemet远程更新程序成为可能。例如,如果有5000个基于MCU的电能表应用程序需要更新,电能表制造商的技术人员就可以避免从事对每一个电能表重新编程的巨大工作量,通过使用Bootloader的功能,由控制中心通过电能表抄表系统网络,远程对5 000个电表重新编程。可见,Bootloader功能对于嵌入式系统的广泛应用具有十分重要的意义。关于Flash的擦除和写入,真的是让我最费力的一部分,网上的相关资料很少,好不容易找到了一点相关代码,却发现程序不能正常的运行,而且更令人无解的是程序本身怎么检查都检查不出错误。好啦,一点一点的说说我的辛酸史。首先,如果你在寻找飞思卡尔的flash擦除写入操作,很遗憾的告诉你,如果你用的不是MC9S12XS系列,那么很有可能,你所需要的flash擦除写入操作和我接下来将要说明的擦除写入操作基本上不沾边(除了原理上),因为飞思卡尔不同系列的单片机对flash的擦除写入操作的定义差别很大,不注意型号的话反而会被误导。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值