野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9077|回复: 6

请教大神关于DMA的问题

[复制链接]
发表于 2016-8-16 15:41:50 | 显示全部楼层 |阅读模式
利用DMA模块从内存传输数据到外设,如usart的数据寄存器,不会出现这种情况吗:usart的数据还没来得及发送,DMA就把它的数据重新覆盖了?
回复

使用道具 举报

发表于 2016-8-16 15:55:19 | 显示全部楼层
按道理是不会的,坐等大神出来解答
回复 支持 反对

使用道具 举报

发表于 2016-8-16 15:55:19 | 显示全部楼层
不会,外设会自动控制的,当它的数据寄存器的内容被放到移位寄存器里,才会触发dma搬运新的数据到它的数据寄存器里,不存储覆盖的问题


你可以做一下串口dma的实验
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-16 16:31:17 | 显示全部楼层
flyleaf 发表于 2016-8-16 15:55
不会,外设会自动控制的,当它的数据寄存器的内容被放到移位寄存器里,才会触发dma搬运新的数据到它的数据 ...

是不会,只是不知道原理是啥,DMA也没有设置传输速率啊
回复 支持 反对

使用道具 举报

发表于 2016-8-16 16:40:34 | 显示全部楼层
fantasticman 发表于 2016-8-16 16:31
是不会,只是不知道原理是啥,DMA也没有设置传输速率啊

我写这么多字你只注意到“不会”啊

外设会自动控制的,当它的数据寄存器的内容被放到移位寄存器里,才会触发dma搬运新的数据到它的数据寄存器里,不存储覆盖的问题

至于你说外设为什么会自动控制,这就是stm32硬件的外设逻辑电路控制的了,它会在适当的时候触发
回复 支持 反对

使用道具 举报

 楼主| 发表于 2016-8-17 09:15:16 | 显示全部楼层
flyleaf 发表于 2016-8-16 16:40
我写这么多字你只注意到“不会”啊

外设会自动控制的,当它的数据寄存器的内容被放到移位寄存器里,才 ...

知道了,谢谢
回复 支持 反对

使用道具 举报

发表于 2016-9-24 08:43:00 | 显示全部楼层
flyleaf 发表于 2016-8-16 16:40
我写这么多字你只注意到“不会”啊

外设会自动控制的,当它的数据寄存器的内容被放到移位寄存器里,才 ...

问下大哥关于串口接收数据DMA工作方式的问题啊,串口中断和DMA中断都不需要打开吗?不打开中断的话,串口调试助手把数据发送到串口RDR寄存器之后按照初始化设置DMA就可以将数据发送至预先定义好的内存中变量吗?怎么我实验了不行啊?请大哥指点一二啊!
回复 支持 反对

使用道具 举报

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

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-9-22 09:45 , Processed in 0.028982 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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