STM32--ADC(DMA)

来源:互联网 发布:750x254淘宝店招素材 编辑:程序博客网 时间:2024/05/21 21:03

AFIO、GPIO时钟使能,APB2PeriphClockCmd();当GPIO作为EXTI外部中断或使用重映射功能的时候,必须开启AFIO时钟。

NVIC初始化,NVIC_PriorityGroupConfig(),NVIC_Init();

GPIO初始化,GPIO_Init();

调用GPIO_EXTILineConfig()设置EXTI中断线。

EXTI初始化,EXTI_Init();





ADC总线时钟(APB2总线时钟)使能。

确定ADC复用GPIO引脚。


配置ADC的DMA工作模式:

DMA1有7个通道,DMA2有5个通道。(DMA各通道匹配外设见《STM32参考手册》P147)

选择DMA通道,DMA_DeInit();

配置DMA,DMA_Init();

DMA使能,DMA_Cmd();


配置ADC,ADC_Init();

配置ADC时钟,RCC_ADCCLKConfig();

配置ADC通道的采样周期,ADC_RegularChannelConfig();

ADC_DMA使能,ADC_DMACmd();

ADC使能,ADC_Cmd();

复位校准寄存器,ADC_ResetCalibration();

等待校准寄存器复位完成,while(ADC_GetResetCalibrationStatus());

ADC校准,ADC_StartCalibration();

等待校准完成,while(ADC_GetCalibrationStatus());


***ADC_SoftwareStartConvCmd();使用软件触发ADC转换。

原创粉丝点击