下面程序中将DMA_InitStructure.DMA_PeripheralBaseAddr =ADC1_DR_Address; //定义 DMA通道外设基地址=ADC1_DR_Address
屏蔽了就没有ERROR了
但DMA_InitStructure.DMA_PeripheralBaseAddr =ADC1_DR_Address;
并没错啊
请大侠帮我看看
初始化程序如下:
DMA_DeInit(DMA1_Channel1);//复位DMA通道1
DMA_InitStructure.DMA_PeripheralBaseAddr =ADC1_DR_Address; //定义 DMA通道外设基地址=ADC1_DR_Address
DMA_InitStructure.DMA_MemoryBaseAddr = (u32)&ADCConvertedValue; //定义DMA通道存储器地址
DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralSRC;//指定外设为源地址
DMA_InitStructure.DMA_BufferSize = 1;//定义DMA缓冲区大小1
DMA_InitStructure.DMA_PeripheralInc = DMA_PeripheralInc_Disable;//当前外设寄存器地址不变
DMA_InitStructure.DMA_MemoryInc = DMA_MemoryInc_Disable;//当前存储器地址不变
DMA_InitStructure.DMA_PeripheralDataSize = DMA_PeripheralDataSize_HalfWord;//定义外设数据宽度16位
DMA_InitStructure.DMA_MemoryDataSize = DMA_MemoryDataSize_HalfWord; //定义存储器数据宽度16位
DMA_InitStructure.DMA_Mode = DMA_Mode_Circular;//DMA通道操作模式位环形缓冲模式
DMA_InitStructure.DMA_Priority = DMA_Priority_High;//DMA通道优先级高
DMA_InitStructure.DMA_M2M = DMA_M2M_Disable;//禁止DMA通道存储器到存储器传输
DMA_Init(DMA1_Channel1, &DMA_InitStructure);//初始化DMA通道1
DMA_Cmd(DMA1_Channel1, ENABLE); //使能DMA通道1
编译后提示:
..UserDMA_Configra
tiion.c(14): error: #20: identifier "ADC1_DR_Address" is undefined
类似这样的定义
#define ADC1_DR_Address ((uint32_t)0x4001244C) //ADC result
ADC1_DR_Address只是一个类似变量的定义,需要有对应的寄存器地址。
一周热门 更多>