请问STM32 F469中两个channel怎样响应DMA2中断

2019-07-14 14:20发布

请各位帮我看一下:
我的项目中需要使用qspi和USART1_TX的DMA, 根据规格书,这两路都是属于DMA2的stream7,也就是说这两路都用的是dma2的stream7中断,请问怎样响应这个中断,有什么寄存器可以标示是属于哪一个channel的中断么?
谢谢!
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
4条回答
huazhe
1楼-- · 2019-07-14 16:38
对于同一STREAM而言,只能1个通道有效。
STREAM看成物流人员,通道请求看成要收发快递的人。物流人员不能同一时刻响应两个请求。
所以请求要错开。

具体哪个通道的请求 可以通过寄存器(DMA_SxCR)里的CHSEL[2:0]确定。
深圳王先生
2楼-- · 2019-07-14 20:55
huazhe 发表于 2019-1-28 19:33
对于同一STREAM而言,只能1个通道有效。
STREAM看成物流人员,通道请求看成要收发快递的人。物流人员不能同一时刻响应两个请求。
所以请求要错开。

多谢版主回复!
我还是想再确认一下,你说的“请求要错开”,指的是在同一系统里的不同时段么,还是根本就不能在同一个系统里出现?
现在我的问题是我要在我的硬件平台上用“USART1_TX的DMA”和“QSPI 的DMA”,我可以通过什么办法来分时使用么?由于这两路都是通过中断的方式实现的,怎样相应这两个中断?还是我这个方案从设计就有问题,压根不能这么用。
谢谢!
huazhe
3楼-- · 2019-07-14 22:38
自然是指时间上错开。
用哪个通道时调用相关初始化配置后启用DMA。如果觉得满足不了应用要求的话,UART那么多,换个UART不难吧,使用不同的STREAM。
深圳王先生
4楼-- · 2019-07-14 23:45
 精彩回答 2  元偷偷看……

一周热门 更多>