问题描述:关闭 DMA 再进入睡眠模式后,偶尔会出现死在进入DMA1 Channel1 IROHandler(void)中断中。
原因分析: DMA 关执行汇编时到 DMA 硬件真正被关闭是有时间差的,该时间差内 ADO还是传输到 DMA,有极小概率出现满中断,而 DMA 时钟确在此时关闭了,导致无法清中断标志位。
解决方案:
调整代码步骤如下:(1) 关闭 ADC
调整代码步骤如下:(1) 关闭 ADC
(2)关闭 ADC 对应的 DMA 通道
(3) 关闭 DMA
(3) 关闭 DMA
(4)进入睡眠模式。
- 关于我们
广东联科芯微电子有限公司代理的极海APM32F103xC系列大量现货供应,欢迎大家免费申请样品测试!