在蓝牙项目开发时,经常会遇到各种各样的串口通信问题。
飞易通工程师总结了一份排查指南,希望可以给大家解决一些串口通信问题和提供一些思路。
一:蓝牙串口通信
串口通信是指外设和计算机、或外设和外设之间通过数据信号线、地线等按位和蓝牙模块进行传输数据的一种通信方式。该通信方式的通信格式包括起始位、数据位、校验位、停止位等。
串口按电气标准及协议来划分,包括RS-232-C、RS-422、RS485等蓝牙模块一般是全双工模式,看规格书是否支持RS-232-C、RS-422、RS485等
二:蓝牙串口通信的基本构架、接线
三:解决方法和思路
1.检查硬件方面接线
串口通信必然存在TX端和RX端,且两者通过硬件接线连接(导线,PCB线路等),遇到问题,首先应该保证导线连接正常。没有对地短路,没有断开,没有其他异常。可以检查电压,对地电阻等方式确认。
2. 检查通讯通道
通过示波器等仪器来判断发送端、接收端的通讯是否正常,查看在发送、空闲时的波形是否正常。逻辑分析仪查看发送的指令是否正常,有没有丢包等情况。可以Tx、Rx引脚短接,进行检查通讯通道是否正常。
3.检查串口驱动层
如果检查第一和第二个没有发现问题,这时候就需要检查串口驱动是否配置成功了。最好先用一个简单指令进行测试,先排除波特率问题。检查时需要特别注意的是利用飞易通专用串口助手调试窗口来观察串口通讯问题。
4.应用协议层
通过以上方向的排查,就只剩应用协议层存在的问题可能性:
利用飞易通专用串口助手调试窗口标准指令来观察串口TX与RX数据协议有问题,例如CRC、帧头帧尾校验、解析数据包等方面。市面通用串口助手通讯不正常的时候,可以用飞易通专用串口助手测试
注意事项
1:串口通讯建议尽量使用带屏蔽线,尽量让线等长和最短距离。
2:晶振或者内部时钟波特率都可能存在误差的,出现串口识别乱码或者收不到的情况特别注意。
3:逻辑分析仪使用和飞易通专用串口助手可以网上下载资料
如仍有问题,请联系飞易通团队!