记录遇到的 Bug
记录遇到的 Bug
前言
此文档是记录开发过程中遇到的 Bug ,印象较深的,不定时更新,学习记录一下,可能会有错误。
串口通信 遇到的 bug
- DMA 串口通信 时不时出点小毛病:
定时发送,使用中断释放信号量,通知通信线程每100ms发送一次数据。中断时间配置无效,发送还是连续的,还检查了好一会儿中断和信号量。后来发现是 DMA Circular 循环模式导致的,配置为 NORMAL 后正常。
数据接收问题,能接收数据,但是不稳定,可能需要多次发送,才能收到,调试时发现还会有中断未被触发,后来发现是使用的软件双缓冲和 DMA 配置为 Circular 循环模式会有冲突。使用硬件双缓冲可配置循环模式,软件双缓冲需要配置为 NORMAL。
本文由作者按照 CC BY 4.0 进行授权