项目需求2:通过wifi或网口,按照既有协议,与后台通讯获取数据,并将获得的数据通过安卓板自带的串口输出。
对于项目需求2我刚看到是一脸懵逼的,你说wifi我知道,网口不就是插网线的那口吗?什么协议、安卓板、串口统统不明白。于是开始准备相关资料,上网去查询这些名词。最后发现关于Android开发板之串口开发有些基础知识点是必须明白的,总结为:关于Android串口,简单的总结出主要的四部曲:打开串口,串口输入,串口输出,关闭串口。而串口有五个重要的参数:串口设备名,波特率,检验位,数据位,停止位,其中检验位一般默认位NONE,数据位一般默认为8,停止位默认为1,校验位是为了减少误差的会根据奇、偶进行补位操作。由于老听到同事在将到波特率这个词(他们是做硬件的),于是我去查了一下波特率的定义。
波特率:单片机或计算机在串口通信时的速率。指的是信号被调制以后在单位时间内的变化,即单位时间内载波参数变化的次数,如每秒钟传送240个字符,而每个字符格式包含10位(1个起始位,1个停止位,8个数据位),这时的波特率为240Bd,比特率为10位*240个/秒=2400bps。又比如每秒钟传送240个二进制位,这时的波特率为240Bd,比特率也是240bps。(但是一般调制速率大于波特率,比如曼彻斯特编码)。波特率,可以通俗的理解为一个设备在一秒钟内发送(或接收)了多少码元的数据。它是对符号传输速率的一种度量,1波特即指每秒传输1个码元符号(通过不同的调制方式,可以在一个码元符号上负载多个bit位信息),1比特每秒是指每秒传输1比特(bit)。 单位“波特”本身就已经是代表每秒的调制数,以“波特每秒”(Baud per second)为单位是一种常见的错误。
串口TX和RX:TX代表传送数据;RX代表接收数据。
Android系统端的ARM:今有90%的智能手机使用的都是ARM处理器,说白了就是一个处理器;它的特点耗电少功能强、16位/32位双指令集和合作伙伴众多。
1、体积小、低功耗、低成本、高性能;
2、支持Thumb(16位)/ARM(32位)双指令集,能很好的兼容8位/16位器件;
3、大量使用寄存器,指令执行速度更快;
4、大多数数据操作都在寄存器中完成;
5、寻址方式灵活简单,执行效率高;
6、指令长度固定。
系统外的一个MCU通信(MCU):微控制单元。微控制单元(Microcontroller Unit;MCU) ,又称单片微型计算机(Single Chip Microcomputer )或者单片机,是把中央处理器(Central Process Unit;CPU)的频率与规格做适当缩减,并将内存(memory)、计数器(Timer)、USB、A/D转换、UART、PLC、DMA等周边接口,甚至LCD驱动电路都整合在单一芯片上,形成芯片级的计算机,为不同的应用场合做不同组合控制。诸如手机、PC外围、遥控器,至汽车电子、工业上的步进马达、机器手臂的控制等,都可见到MCU的身影。