没有合适的资源?快使用搜索试试~ 我知道了~
首页超详细的STM32讲解——AD单通道与多通道转换(DMA).pdf
资源详情
资源评论
资源推荐

第三章 AD 转换
本章的内容分两部分,第一是 AD 的单通道转换,第二是 AD 的多通道转换。
首先先将单通道转换。
STM32中自带的 AD 最大的转换频率是 14MHZ,共有 16 个转换通道, 每个转
换通道对应的管脚如下表所示。
管脚名 默认复用功能
PF6 ADC3_IN4
PF7
ADC3_IN5
PF8 ADC3_IN6
PF9
ADC3_IN7
PF10 ADC3_IN8
PC0 ADC123_IN10
PC1 ADC123_IN11
PC2 ADC123_IN12
PC3 ADC123_IN13
PA3 ADC123_IN3
PA6
ADC12_IN6
PA7
ADC12_IN7
PC4 ADC12_IN14
PC5
ADC12_IN15
PB0
ADC12_IN8
PB1
ADC12_IN9
注:
ADC123_IN10 表明 PC0管脚可以作为 AD1,AD2,AD3 的第 10 通道。
下面我们将 PC0 配置成 AD1 的通道 10 为例进行讲解。
3.1
首先我们应将 PC0设置成模拟输入:
#include "adc.h"
/* 为何定义 ADC1_DR_Address 为 ((u32)0x40012400+0x4c)
,因为存放 AD转换结果的寄存器的地址就是 0x4001244c*/
#define ADC1_DR_Address ((u32)0x40012400+0x4c)
/* 定义变量 ADC_ConvertedValue,放 AD1通道 10 转换的数据 */
__IO uint16_t ADC_ConvertedValue;
static void ADC1_GPIO_Config(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
/* Enable ADC1 and GPIOC clock */
RCC_APB2PeriphClockCmd(RCC_APB2Periph_ADC1 |
RCC_APB2Periph_GPIOC,ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 ;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;
GPIO_Init(GPIOC, &GPIO_InitStructure);
}

















安全验证
文档复制为VIP权益,开通VIP直接复制

评论0