第三章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 为例进行讲解
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_APB2