文章

记录遇到的 Bug

记录遇到的 Bug

前言

  此文档是记录开发过程中遇到的 Bug ,印象较深的,不定时更新,学习记录一下,可能会有错误。

串口通信 遇到的 bug

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