微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > MCU和单片机设计讨论 > 利用32进行adc采集时,dma传输数据,利用变量做目的地址能实现,换成数组做目的地址就出错了

利用32进行adc采集时,dma传输数据,利用变量做目的地址能实现,换成数组做目的地址就出错了

时间:10-02 整理:3721RD 点击:
如题。求教。

void DMA_Configuraton(void)
{
        DMA_InitTypeDef DMA_InitStructure;
       
        DMA_DeInit(DMA2_Stream0);
       
        DMA_InitStructure.DMA_Channel=DMA_Channel_0;
       
        DMA_InitStructure.DMA_PeripheralBaseAddr=(u32)&ADC1->DR;//íaéè×a??íêêy?Yμ?′?′¢μ??·
       
        DMA_InitStructure.DMA_Memory0BaseAddr=(u32)ADCDATA;//°á??μ?μ???μ?μ??·
       
        DMA_InitStructure.DMA_DIR=DMA_DIR_PeripheralToMemory;//êy?Y′óíaéèμ??ú′?
       
        DMA_InitStructure.DMA_BufferSize=4;//?o′???′óD?
       
        DMA_InitStructure.DMA_PeripheralInc=DMA_PeripheralInc_Disable;//íaéèμ??·ê?·?μY??
       
        DMA_InitStructure.DMA_MemoryInc=DMA_MemoryInc_Disable;//?ú′?μ?μ??·ê?·?μY??
       
        DMA_InitStructure.DMA_PeripheralDataSize=DMA_PeripheralDataSize_HalfWord;//?¨ò?íaéèêy?Yμ????í
       
        DMA_InitStructure.DMA_MemoryDataSize=DMA_MemoryDataSize_HalfWord;//?¨ò??ú′?μ????í
       
        DMA_InitStructure.DMA_Mode=DMA_Mode_Normal;//?¨ò??aá?D?μ?1¤×÷?£ê?
       
        DMA_InitStructure.DMA_Priority=DMA_Priority_High;//?¨ò?ó??è??
       
        DMA_InitStructure.DMA_FIFOMode=DMA_FIFOMode_Disable;
       
        DMA_InitStructure.DMA_FIFOThreshold=DMA_FIFOThreshold_HalfFull;
       
        DMA_InitStructure.DMA_MemoryBurst=DMA_MemoryBurst_Single;
       
        DMA_InitStructure.DMA_PeripheralBurst=DMA_PeripheralBurst_Single;
       
        DMA_Init(DMA2_Stream0,&DMA_InitStructure);//3?ê??ˉ
       
        DMA_Cmd(DMA2_Stream0,ENABLE);//1|?ü′ò?a
       
}
这是DMA配置代码

ADCDATA为一维数组,4个数组成员

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top