stm322f2系列ADC结合DMA多路采样

本文介绍了如何在STM32F2系列微控制器中结合ADC3和DMA2进行多路采样。通过配置ADC3的内存映射地址、设置GPIO为模拟输入模式以及配置DMA2的Stream0,实现从ADC3的多个通道到内存的数据传输。此外,还详细对比了STM32F2与STM32F10系列在ADC和DMA配置上的差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

采用ADC3,DMA2,根据原理图和datasheet原则相应的通道管脚,然后进行配置,注意与10系列的差别


#define ADC3_DR_ADDRESS    ((uint32_t)0x4001224C)        //ADC3内存影射地址

__IO u16 ADC3ConvertedValue[2] = {0,0};//将ADC采样的数据放入数组所指的内存空间中

 RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_DMA2 | RCC_AHB1Periph_GPIOF, ENABLE);      //DMA,F口的时钟信号
 RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC3, ENABLE);   // ADC3的时钟信号

/*配置F口,将管脚配置成模拟输入模式,与f10系列有一点点的差异*/

  GPIO_InitTypeDef      GPIO_InitStructure;
  
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4;

  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN;
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ;
  GPIO_Init(GPIOF, &GPIO_InitStructure);
   
  GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3;
  GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN;
  GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ;
  GPIO_Init

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值