关于STM32F407 一次DMA中断事件进入两次中断

本文详细探讨了STM32F407 SPI2 DMA接收中断中出现的一次事件触发两次中断的问题。通过实测发现,即使在没有数据传输的情况下,DMA使能的更改也会触发中断标志位的更新,进而引发额外的中断。文章建议,在禁用DMA后,务必清除中断标志位,以避免此类问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

关于STM32F407 一次DMA中断事件进入两次中断

我这里用的是stm32f407 spi2的dma接收中断,原理是一样的。经过测试,dma使能不会触发中断,但是即使没有数据传输事件完成,但是使能之后,单独运行关闭使能语句,会改写中断传输标志位,从而触发一次中断,这也就是为什么在传输事件触发中断后会再一次触发中断,建议在DMA_Cmd(DMA1_Stream3,DISABLE);后务必要加一句清除中断标志位的语句DMA_ClearITPendingBit(DMA1_Stream3,DMA_IT_TCIF3);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值