硬汉嵌入式论坛

 找回密码
 立即注册
查看: 3758|回复: 4
收起左侧

[有问必答] DMA双缓存模式时的问题

[复制链接]

100

主题

275

回帖

575

积分

金牌会员

积分
575
发表于 2019-2-25 14:12:54 | 显示全部楼层 |阅读模式
缓存0,缓存1,当传输完缓存0后,执行传输完成中断,在中断里,调用DMA_GetCurrentMemoryTarget函数 得到值是0,还是1.
就是说,当传输完缓存0后产生的中断时,缓存1传输已经开始,DMA_GetCurrentMemoryTarget得到的值应该是1,对吗?


回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
119449
QQ
发表于 2019-2-25 14:23:00 | 显示全部楼层
是的,DMA传输是一直在进行的。
回复

使用道具 举报

100

主题

275

回帖

575

积分

金牌会员

积分
575
 楼主| 发表于 2019-2-25 15:00:25 | 显示全部楼层
eric2013 发表于 2019-2-25 14:23
是的,DMA传输是一直在进行的。

有没有这个可能,DMA传输是用定时器触发的,要是定时器触发的周期很长,缓存0完了产生中断,这个时候定时器还没触发,缓存1传输还没开始,这个时候算0还是1呢
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
119449
QQ
发表于 2019-2-25 15:09:43 | 显示全部楼层
zerone 发表于 2019-2-25 15:00
有没有这个可能,DMA传输是用定时器触发的,要是定时器触发的周期很长,缓存0完了产生中断,这个时候定时 ...

你进入中断的同时,已经切换到第2个缓冲了。
回复

使用道具 举报

100

主题

275

回帖

575

积分

金牌会员

积分
575
 楼主| 发表于 2019-2-25 15:13:41 | 显示全部楼层
eric2013 发表于 2019-2-25 15:09
你进入中断的同时,已经切换到第2个缓冲了。

原来这样啊,你是怎么知道的
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-11-23 00:20 , Processed in 0.038778 second(s), 24 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表