打印

STM32F4 DMA的单次传输与突发(BURST)传输理解

[复制链接]
590|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
第三章|  楼主 | 2018-7-6 07:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
由于项目的要求,由于采用传统的方式控制USART发送数据的时间占用CPU过多的时间,导致裸机程序的误判(少判),所以想起了采用DMA控制器控制SUART 数据的发送。
之前没有接触过DMA的概念,现学现用呗!!!而导师的意见是,参考别人写的程序,修改修改,解决问题就行了,不必深入了解。果然,一搜索,一大堆的程序,修改修改,
利用到项目中,不到半天问题解决了。感叹DMA可真是好用啊,所以决定学习一下这个神奇的东西,参考《中文参考手册》,硬着头皮看一遍下去,云里雾里。。。。,脑子里
只有几个关键字:FIFO,突发增量传输,数据宽度,存储器,外设。再看了看自己的程序:
    DMA_InitStructure.DMA_MemoryBurst=DMA_MemoryBurst_Single;
    MA_InitStructure.DMA_PeripheralBurst=DMA_PeripheralBurst_Single;
    DMA_InitStructure.DMA_FIFOMode=DISABLE;
    DMA_InitStructure.DMA_FIFOThreshold=DMA_FIFOThreshold_Full;

----->FIFO禁止了,也不使用突发传输了。
       脑子里浮现一个念头,要是我允许Fifo,使用突发传输会是怎么样呢,会不会一次发送几组相同的数据呢?。。二话不说,改呗。下载测试。。。。没有任何的变化。。。没有得到预期的结果,很失望!!于是乎,在看一遍《手册》

使用特权

评论回复

相关帖子

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

本版积分规则

380

主题

380

帖子

0

粉丝