void ADC1_Init_DMA(uint32_t mar,uint32_t size)//mar为储存器地址,size为传的数据个数
{
GPIO_InitTypeDef GPIO_InitStructure;
ADC_CommonInitTypeDef ADC_CommonInitStructure;
ADC_InitTypeDef ADC_InitStructure;
DMA_InitTypeDef DMA_InitStructure;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA2,ENABLE);/*DMA2的时钟使能*/
while(DMA_GetCmdStatus(DMA2_Stream0)!=DISABLE);/*等待DMA可以配置*/
DMA_InitStructure.DMA_Channel = DMA_Channel_0;/*DMA通道0*/
DMA_InitStructure.DMA_PeripheralBaseAddr = (u32)&ADC1->DR;/*外设地址*/
DMA_InitStructure.DMA_Memory0BaseAddr = mar;/*存取器地址*/
DMA_InitStructure.DMA_DIR = DMA_DIR_PeripheralToMemory;/*方向从外设到内存*/<
stm32f407ADC_DMA配置
最新推荐文章于 2024-07-16 19:17:33 发布
本文详细介绍了如何在STM32F407微控制器上配置ADC(模拟数字转换器)与DMA(直接内存访问)进行连续的数据转换和传输。通过设置ADC通道、采样时间、DMA流和外设接口,实现了高效率的数据采集,适用于实时信号处理应用。
摘要由CSDN通过智能技术生成