预备
学习目标
- 学会调用
Get_Adc_Average
函数 - 会使能多个ADC通道
概述
-
ADC输入电压范围:2.4V-3.6V,一般使用
0V和3.3V
-
数据对齐:16bit存放12bit的转换数据,可以左对齐也可以右对齐
-
规则通道和注入通道
项目 规则通道 注入通道 通道个数 最多16个 最多4个 类比 类似正常的程序执行 类似中断 -
转换标志位:转换结束,注入转换结束,看门狗,中断使能等
-
通道模式
通道模式 说明 单次转换 ADC只执行一次转换 连续转换 对通道不断地进行循环 扫描模式 只在多通道的情况下有效,一般要开启DMA,只有在最后一个通道结束之后才会产生中断 -
采样时间和转换时间:转换时间=采样时间+12.5周期
-
ADC通道和GPIO映射关系
-
ADC结构体讲解
- Mode:分为
独立模式
和多重模式
,独立模式是所有ADC都独立工作,互不影响,多重模式是彼此配合,一般选择独立模式 - ScanConvMode:选择是多通道模式(Scan)还是单通道模式(Single)
- ADC_ContinuousConvMode:单次转换还是连续转换
- ExternalTrigConv:触发方式
- ADC_DataAlign:数据对齐
- ADC_NbrOfChannel:规则转换的通道数
- Mode:分为
typedef struct
{
uint32_t ADC_Mode; //
FunctionalState ADC_ScanConvMode; //
FunctionalState ADC_ContinuousConvMode; //
uint32_t ADC_ExternalTrigConv; //
uint32_t ADC_DataAlign; //
uint8_t ADC_NbrOfChannel; //
}ADC_InitTypeDef;
adc.c
#include "adc.h"
#include "delay.h"</