下面程序中将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
DMA_InitStructure_G1.DMA_PeripheralBaseAddr = (uint32_t)&TIM5->CCR1;
直接饮用就可以,省的定义出错~ &ADC1->DR
一周热门 更多>