|
使用U5系列,UART4TX + DMA转运功能。程序运行的第一次能正常发送,并且DMA发送完成后正常进入中断服务函数,转运完成标志位置位。但DMA与串口的状态一直处于忙状态没有转变为空闲状态,导致第二次发送无法成功进行。 当我在传输完成中断中手动置位串口与DMA的状态才能再次进行发送。
想询问一下大佬们,是我可能cubemx配置有问题?还是确实需要自己软件置位相关状态? |
x-cube-ai或ST Edge AI Core有关算子融合的问题
串口DMA收发出现ORE错误
STM32F3系列SDADC外部触发 DMA运输的bug
STM32 增加 WiFi + 以太网的低成本方案
CubeMX加载X-CUBE-AI库以后 再新建工程进不去mcu选择界面
stm32cubemx的mode and configuration界面里的mode界面加载不出来,请问是什么问题?
STM32U575 TrustZone 工程中断异常
在RS485通信中如何有效避免误码,距离5米,速率115200
STM32G030死机问题
stm32cubeMx生成stm32H743IIT6 cmake工程时全局变量自动定义到DTCM段
微信公众号
手机版
你的cubeMx配置没有问题,这个跟库代码设计的状态变量管理有关。
这个状态位在库里通常基于相关外设中断处理回调函数来管理的,但我们有时可能
并没有完全按照库的逻辑来设计代码,比方这里并不开启UART中断,只是启用UART tx/rx事件的
DMA传输,同时又要用到库提供的APP,我们此时需要额外针对状态位做状态位的调整,
比方复位啊、忙碌这些,根据具体状态调整即可。具体到你现在的做法,是常见的做法。
这个话题在论坛也经常聊起,不妨将库代码多看看也就知道怎么回事了。