打印

DMA的疑问

[复制链接]
1281|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
logokfu|  楼主 | 2012-3-22 22:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 **kfu 于 2012-3-22 22:10 编辑

有个疑问,就是DMA到底有什么好处,用DMA和不用DMA到底有什么区别。

看着手册光知道说是好,就是不知道好在哪,能举个实际点的形象点的例子吗。
感觉好抽象哦。不知道在实际做项目中什么情况下需要使用DMA啊。

现在我的脑子里只有51单片机的while(1)的概念:'(
沙发
香水城| | 2012-3-22 22:13 | 只看该作者
LZ扒坟头的那个帖子就很经典的:https://bbs.21ic.com/icview-109437-1-1.html

:lol

使用特权

评论回复
板凳
logokfu|  楼主 | 2012-3-22 22:37 | 只看该作者
LZ扒坟头的那个帖子就很经典的:https://bbs.21ic.com/icview-109437-1-1.html

:lol
香水城 发表于 2012-3-22 22:13


却是我扒出来的,但是还是觉得,不是很理解,我还是再啃啃手册吧。

使用特权

评论回复
地板
airwill| | 2012-3-23 08:56 | 只看该作者
简单通俗的说吧.
    让 cpu 从数据交换的任务中解脱出来. 让硬件来完成 "数据搬家" 的任务.

使用特权

评论回复
5
lai832| | 2012-3-23 09:34 | 只看该作者
旁路----不过也不太会用

使用特权

评论回复
6
logokfu|  楼主 | 2012-3-23 09:46 | 只看该作者
简单通俗的说吧.     让 cpu 从数据交换的任务中解脱出来. 让硬件来完成 "数据搬家" 的任务.airwill 发表于 2012-3-23 08:56
可否举个实际应用的例子。

使用特权

评论回复
7
lai832| | 2012-3-23 10:36 | 只看该作者

+

本帖最后由 lai832 于 2012-3-23 10:39 编辑

一般:CPU读数据(读端口,内存.....), CPU写数据(到别的地方:端口,内存等)
DMA:加一条支路:直达

好比:从深圳到武汉,  深圳---广州(中转中心)----武汉
你买台直升飞机:深圳直飞武汉, 这样就你给广州中转中心减负了


USART

一般:(要CPU参与转移数据)
脚----buffer(寄存器)------变量(内存)

DMA:(定义一个数组(内存)),这样不用CPU,也可以收比buffer的数据长
脚----DMA----数组

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

76

主题

2646

帖子

7

粉丝