第三章 AD 转换
本章的内容分两部分,第一是 AD 的单通道转换,第二是 AD 的多通道转换。
首先先将单通道转换。
STM32 中自带的 AD 最大的转换频率是 14MHZ,共有 16 个转换通道,每个转
换通道对应的管脚如下表所示。
注: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);
}
评论0
最新资源