STM32|STM32 UART调试异常小结
【STM32|STM32 UART调试异常小结】最近在做一个测试主板硬件串口功能的软件,UART,RS485接口,用的是STM32,A(为主板),B(为测试小板)。
测试方法:B上的按键触发,发送一个指令发给A,A接收到后回传另一条指令给B,B接收到指令后,判别指令是否正常,若正常,则LED灯闪烁。
第一步,两个小板分别和电脑调通。
第二步,两个小板互联互调:
测试时,发现一个问题:B传给A的,A可以正常接收;A回传给B的,B无任何反应。
检查了各种设置,均无法解决。后面想到是否A回传指令太快,B来不及反应。尝试了一下延时,在A回传给B的时候,先延时10ms,再回传指令给B,此时B接收正常。进一步追溯,发现在B发送指令的前后均有延时,都是5ms。将B发完指令后的延时改为1ms,将A部分添加的延时去掉,测试A和B的收发也都正常。
以上说明在串口调试时,双方的时间同步非常重要,对时间的敏感度非常高。尤其是在一方延时,对另一方的影响很大,必须也要做对应的处理,否则会造成收发不同步,无法正常通讯。
推荐阅读
- 移动端h5调试方法
- Quartz|Quartz 源码解析(四) —— QuartzScheduler和Listener事件监听
- 那些年bug总结出来的调试代码技巧
- 基于stm32智能风扇|基于stm32智能风扇_一款基于STM32的智能灭火机器人设计
- stm32|基于STM32和freeRTOS智能门锁设计方案
- STM32F4|STM32F4 TIM6 TIM7 基本定时器
- 汇编实验(格雷码转二进制(ASCII码)的实现和调试)
- TODO(小程序手机预览调试)
- 【Camera专题】Qcom-高通OTP编程调试指南-上
- Flutter应用如何调试--DevTools介绍(下)