野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 11897|回复: 2

双重ADC中DMA的外设与内存字节的设置

[复制链接]
发表于 2017-2-27 11:45:32 | 显示全部楼层 |阅读模式
        DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord;
  //        存储器数据大小也为半字,跟外设数据大小相同
        DMA_InitStructure.DMA_MemoryDataSize = DMA_PeripheralDataSize_HalfWord;       
        // 循环传输模式

为什么智力外设与内存的数据字节大小都是DMA_PeripheralDataSize_HalfWord呢?
看定义里面:
#define DMA_PeripheralDataSize_HalfWord   ((uint32_t)0x00000800)
#define DMA_MemoryDataSize_HalfWord       ((uint32_t)0x00002000)
如果内外都是半字的话,DMA_InitStructure.DMA_MemoryDataSize =  DMA_MemoryDataSize_HalfWord这样才对吧,难道我理解错了,请大神们讲解一下。

设置图

设置图
回复

使用道具 举报

发表于 2017-2-27 12:02:58 | 显示全部楼层
具体的看配套的教程和例程,例程是没有错的,只能是你理解错。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-2-27 14:28:12 | 显示全部楼层
fire 发表于 2017-2-27 12:02
具体的看配套的教程和例程,例程是没有错的,只能是你理解错。

火哥,我打开“三重ADC单通道交替采集”的例子,零死角的PDF中:
DMA_InitStructure.DMA_PeripheralDataSize=DMA_PeripheralDataSize_Word;
// 存储器数据大小也为字,跟外设数据大小相同
DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_Word;
// 循环传输模式



但是程序中内外设的字节选择都是 DMA_PeripheralDataSize_Word ;

教程没有这么说

内外地址不同

内外地址不同

程序截图

程序截图
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-28 00:45 , Processed in 0.042206 second(s), 26 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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