野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 13709|回复: 3

stm32-DMA设置

[复制链接]
发表于 2015-3-17 14:24:10 | 显示全部楼层 |阅读模式
本帖最后由 liuchang 于 2015-3-17 14:31 编辑
  1. 如下为stm32野火开发板ADC实验程序,中间有一句代码小弟不是很明白(注释部分),恳请大神指点!谢谢~~~
复制代码
static void ADC1_Mode_Config(void)
{
        DMA_InitTypeDef DMA_InitStructure;
        ADC_InitTypeDef ADC_InitStructure;
       
        DMA_DeInit(DMA1_Channel1);//这里为什么要对DMA寄存器进行初始化?(后面不是会对各个寄存器进行设置的吗?是小弟理解的有问题吗?)
       
        DMA_InitStructure.DMA_PeripheralBaseAddr = ADC1_DR_Address;                                
        DMA_InitStructure.DMA_MemoryBaseAddr = (u32)&ADC_ConvertedValue;       
        DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;
        DMA_InitStructure.DMA_BufferSize = 1;
        DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;       
        DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Disable;                                 
        DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord;       
        DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord;
        DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;                                                                       
        DMA_InitStructure.DMA_Priority = DMA_Priority_High;
        DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;
        DMA_Init(DMA1_Channel1, &DMA_InitStructure);
       
        /* Enable DMA channel1 */
        DMA_Cmd(DMA1_Channel1, ENABLE);
       
        }
回复

使用道具 举报

发表于 2015-3-17 14:53:45 | 显示全部楼层
那是复位吧
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-3-17 15:16:20 | 显示全部楼层

是啊,可是我不知道这里复位是干嘛用的?有啥效果呢?
回复 支持 反对

使用道具 举报

发表于 2015-3-17 15:54:16 | 显示全部楼层
没仔细研究,但我听教程中讲的意思,可能复位时要操作的寄存器太多,初始化时有些参数我们不可能对它逐一设置,所以先调用一下这个函数,在此基础上进行设置,就不容易出错
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-23 17:25 , Processed in 0.048119 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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