1. 环境:PC使用通用串口助手,开发板使用串口调试程序
现象:使用开发板测试串口程序,发现串口可以收到数据,却不是开发板发出来的数据。收到的数据和PC自身发出的数据一样。
解决方法:先程序单步调试,发现PC的发送数据无法正常触发中断,由此判断出,PC发出的数据无法正常到达开发板触发中断,且发现PC可以收到和自身发出数据一样的数据,所以检查硬件,发现PC的TX与RX互联,并没有正确接到开发板的TX与RX,更改接线,排除故障后,程序可以正常工作。
2. 环境:重装系统后,以前可以正常使用的串口程序无法使用
现象:插入串口助手有提示,缺少驱动无法正常使用,打开设备管理器显示设备上有黄色感叹号,且串口助手上无法选择对应的串口使用。
解决方法:设备显示黄色感叹号,正常情况下是由于没有正确安装串口的驱动程序,或者驱动程序没有正确安装,一般安装后即可正常使用不需要重启。不排除串口助手硬件损坏的情况,如果串口助手损坏,建议更换好的串口助手在进行测试。
3. 环境:PC使用开发软件使用RS485信号,中间层做信号转发RS485转TTL信号,底层TTL信号接受做实际功能实现。
现象:PC发送数据在底层无法正常工作。
解决方法:
4. 环境:PC使用开发软件使用RS485信号,中间层做信号转发RS485转TTL信号,底层TTL信号接受做实际功能实现。
现象:PC发送数据在底层无法正常工作。
解决方法:
以后遇到串口问题的解决思路
1. 确认信号类型,是TTL,RS485,RS232,不同数据类型的信号无法正常通信。
2. 确认串口的软件设置,波特率串口号等信号格式。
3. 确认已经正确安装驱动。
4. 确认硬件接线是否正确,对应的信号接口接到相应的接口,针对TTL和485,不确定信号定义的时候可以尝试俩根线相互调换。
5. 确认设备正常供电。
6. 使用示波器或者其他调试工具检查通信波形是否正确,5V系统和3.3V系统需要在对应的信号线上加上上拉电阻和二极管。
7. 确认硬件无问题的情况下,查找软件问题。
软件问题与硬件问题的大致区分方法:
硬件问题每次都能复现,软件问题可能时有时无。(个人经验)