ARTICLE DETAIL

资讯详情

深耕网站视觉设计与运营推广的一线实战洞察。

串口通信扩展知识

串口通信扩展知识 在Android工控系统上Android与硬件的通讯交互随处可见其中串口通讯是最常用的通讯方式之一。串口通信(Serial Communication) 是指外设和计算机间通过数据信号线 、地线、控制线等按位进行传输数据的一种通讯方式。这种通信方式使用的数据线少在远距离通信中可以节约通信成本但其传输速度比并行传输低。传统的串口通讯是异步串行UART传输数据采用帧格式传输一帧数据由起始位、数据位、校验位、停止位组成。波特率传输速率波特率9600则表示每秒发送 9600 bit数据位通信中实际数据位的参数5-8位停止位表示单个包的最后一位。典型的值为11.5和2位校验位检错方式有四种检错方式偶、奇、高和低也可以没有校验位常见串口接线通常有两种接法一种是串口直通线另一种串口交叉线区别如下图特别注意接线端到端要保持一致接法不能混合否则硬件通讯失败常见串口主要有两种RS232、RS485,主要区别如下rs232和rs485的区别如下1、传输方式不同接口传输方式传输距离传输速率通信方式RS232采用不平衡传输方式即所谓的单端传输。发送端输出正电平为5 ~ 15V负电平为-5 ~ -15V无数据时线上为TTL接收器工作点评在3 ~ 12V与-3 ~ -12V。共模抑制能力差适合本地设备之间的传输传输距离最大为15米最高速率为20kb/s只允许一对一的通信,是全双工的同时可收发RS485采用平衡传输即差分传输方式。AB之间正点平为2 ~ 6V负电平为-2 ~ -6。接收器AB之间大于200mV为正逻辑电平小于-200mV为负逻辑电平传输距离为几十米到上千米最高可以达到10M在总线上允许链接128个收发器是半双工的某一个只能收或者发补充TTL 串口除了 RS232、RS485实际开发中TTL 串口也非常常见尤其在 Android 工控板、单片机与传感器模块之间。TTL 电平特点高电平3.3V 或 5V逻辑 1低电平0V逻辑 0传输距离短一般不超过 1~2 米适合板级或短距离通讯TTL 与 RS232 电平对比接口电平标准传输距离典型应用TTL3.3V / 5V 逻辑电平1~2 米以内单片机、Android 工控板与传感器模块通讯RS232±5V ~ ±15V最大 15 米工业设备、PC 串口接线注意TTL 串口同样遵循TX 接 RX、RX 接 TX、GND 接 GND的交叉接法且两端电平必须一致3.3V 对 3.3V5V 对 5V不能混接否则可能烧毁硬件或通讯失败。实际开发没有硬件设备怎么进行串口通讯测试可以参考下面虚拟串口调试模拟工具下载地址https://www.eltima.com/vspdpro-post-download.htmlPC端的使用步骤添加端口虚拟端口是成对出现的这里自己创建的端口是COM1、COM2一个负责收数据一个负责发数据。使用PC Windows端串口测试工具分别打开端口COM1、COM2打开端口的设置参数一样波特率、数据位、校验位、停止位在PC端串口测试工具进行数据的发送和接收Android的端使用步骤由于串口是互通的我们可以在PC端使用串口测试工具打开串口COM1作为数据接收当然也可以发送数据因为全双工通讯在Oracle VM VirtualBox中设置Genymotion模拟器Android Genymotion模拟器运行在Oracle VM VirtualBox中运行的的虚拟串口将Android Genymotion模拟器的串口设备COM1也就是 /dev/ttyS0COM2对应 /dev/ttyS1映射到PC的虚拟COM2端口配置Android Genymotion模拟器串口/dev/ttyS0权限cmd分别执行adb shell chmod 777 /dev/ttyS0启动模拟器运行Android端的串口调试工具最后进行数据发送和接收测试备注上面测试只是模拟串口测试实际还得对接实际硬件设备进行调试
返回列表