你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32 F469 中DMA2中断怎样使用两个channel

[复制链接]
花满楼ca 提问时间:2017-7-20 05:13 /
本帖最后由 花满楼ca 于 2017-7-27 04:43 编辑

请各位帮我看一下:
我的项目中需要使用qspi和USART1_TX的DMA, 根据规格书,这两路都是属于DMA2的stream7,也就是说这两路都用的是dma2的stream7中断,请问怎样响应这个中断,有什么寄存器可以标示是属于哪一个channel的中断么?
谢谢!

规格书

规格书

收藏 评论5 发布时间:2017-7-20 05:13

举报

5个回答
花满楼ca 回答时间:2017-7-20 21:15:03
顶一下!
xmshao 回答时间:2017-7-21 17:44:00
对于同一STREAM而言,只能1个通道有效。
STREAM看成物流人员,通道请求看成要收发快递的人。物流人员不能同一时刻响应两个请求。
所以请求要错开。

具体哪个通道的请求 可以通过寄存器(DMA_SxCR)里的CHSEL[2:0]确定。
花满楼ca 回答时间:2017-7-24 22:06:00
xmshao 发表于 2017-7-21 17:44
对于同一STREAM而言,只能1个通道有效。
STREAM看成物流人员,通道请求看成要收发快递的人。物流人员不能同 ...

多谢版主回复!
我还是想再确认一下,你说的“请求要错开”,指的是在同一系统里的不同时段么,还是根本就不能在同一个系统里出现?
现在我的问题是我要在我的硬件平台上用“USART1_TX的DMA”和“QSPI 的DMA”,我可以通过什么办法来分时使用么?由于这两路都是通过中断的方式实现的,怎样相应这两个中断?还是我这个方案从设计就有问题,压根不能这么用。
谢谢!
xmshao 回答时间:2017-7-26 07:57:23
自然是指时间上错开。
用哪个通道时调用相关初始化配置后启用DMA。如果觉得满足不了应用要求的话,UART那么多,换个UART不难吧,使用不同的STREAM。
花满楼ca 回答时间:2017-7-27 04:42:45
xmshao 发表于 2017-7-26 07:57
自然是指时间上错开。
用哪个通道时调用相关初始化配置后启用DMA。如果觉得满足不了应用要求的话,UART那么 ...

多谢回复。
主要是这个案子硬件已经定下来了,只能用usart1_tx的dma。同时我还要用qspi的dma.
这两个通道还都是用的中断dma2_stream7,不是主动的通讯,所以我才比较难办。
总之谢谢斑竹的回复,我看看能不能找到办法在一个中断里用这两个channel.
关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版