蓝牙串口通信问题排查指

258 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路。

 

在蓝牙项目开发时,经常会遇到各种各样的串口通信问题。

笔者总结了一份排查指南,希望可以给大家解决一些串口通信问题和提供一些思路。

一:蓝牙串口通信

串口通信是指外设和计算机、或外设和外设之间通过数据信号线、地线等按位和蓝牙模块进行传输数据的一种通信方式。该通信方式的通信格式包括起始位、数据位、校验位、停止位等。

串口按电气标准及协议来划分,包括RS-232-C、RS-422、RS485等蓝牙模块一般是全双工模式 看规格书是否支持 RS-232-C、RS-422、RS485

二:蓝牙串口通信的基本构架。接线

 


三:解决方法和思路****

1.检查 硬件方面接线

串口通信必然存在TX端和RX端,且两者通过硬件接线连接(导线,PCB线路等),遇到问题,首先应该保证导线连接正常。没有对地短路,没有断开,没有其他异常。可以检查电压,对地电阻等方式确认。

2. 检查通讯通道****

通过示波器等仪器来判断发送端、接收端的通讯是否正常,查看在发送、空闲时的波形是否正常。逻辑分析仪查看发送的指令是否正常,有没有丢包等情况。可以Tx、Rx引脚短接,进行检查通讯通道是否正常。****

3.检查串口驱动层

如果检查第一和第二个没有发现问题,这时候就需要检查串口驱动是否配置成功了。最好先用一个简单指令进行测试,先排除波特率问题。检查时需要特别注意的是利用feasyblue专用串口助手调试窗口来观察串口通讯问题。

4.应用协议层

通过以上方向的排查,就只剩应用协议层存在的问题可能性:

利用飞易通专用串口助手调试窗口标准指令来观察串口TX与RX数据协议有问题,例如CRC、帧头帧尾校验、解析数据包等方面。市面通用串口助手通讯不正常的时候,可以用feasyblue专用串口助手测试

注意 事项****

1:串口通讯建议尽量使用带屏蔽线,尽量让线等长和最短距离。

2:晶振或者内部时钟波特率都可能存在误差的,出现串口识别乱码或者收不到的情况特别注意。

3:逻辑分析仪使用和feasyblue专用串口助手可以网上下载资料