DMA我只开了完成中断,为什么调试的时候,发现半完成中断和全局中断也都被置一了呢?

2019-07-21 07:36发布

DMA我只开了完成中断,为什么调试的时候,发现半完成中断和全局中断都被置一了呢?
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
正点原子
1楼-- · 2019-07-21 08:35
这个和你开不开中断无关,标志位还是会照样置1的
wmh19910511
2楼-- · 2019-07-21 09:37
回复【2楼】正点原子:
---------------------------------
不会吧  要是一个中断入口对应多个中断,那怎么通过状态寄存器判断呢?
xiaoergao
3楼-- · 2019-07-21 14:11
回复【3楼】wmh19910511:
---------------------------------
通过状态屏蔽位
wmh19910511
4楼-- · 2019-07-21 15:59
 精彩回答 2  元偷偷看……
xiaoergao
5楼-- · 2019-07-21 16:17
回复【5楼】wmh19910511:
---------------------------------
你看下参考手册  “10.4.3 DMA通道x配置寄存器(DMA_CCRx)(x = 1…7)”
大概的意思就是  半传完成后会有半传事件发生,如果配置寄存器中半传中断位被使能的话则会进入半传中断处理函数里。全传也是同理。
狮子歌歌
6楼-- · 2019-07-21 21:59
不管中断使不使能,各个中断标志都有可能被触发。既然传输完成,那么传输完成标志和半完成标志必然会被置位,而这两个任意一个置位,都会引起全局中断标志置位。就是这样。

一周热门 更多>