ADC: Analog to Digital Converter
采样周期:ADC的还原能力
分辨率:ADC的精度----V▲=3.3V/(2^12)≈0.0008V
12位的分辨率
注入转换:优先级别高,可以打断规则转换
转换序列、扫描模式、单次转换(一次)、连续转换(循环)
- 电压的输入范围:-VREF(GND) ≤ VIN +VREF(3.3V)
- 输入通道:18个转化通道,16个外部通道
18转换通道:
16通道外部输入ADCx_IN0~ADCx_IN15
1通道内部温度传感器(不准)ADCx_IN16
1通道内部参考电压ADCx_IN17
规则通道:最多16个,SQRx(1-3)寄存器控制顺序
注入通道:最多4个,必须要在规则通道存在的时候存在,可以打断规则通道.(JSQR寄存器)
3.触发源:
软件触发:ADC_CR2:ADON(打开ADC)/SWSTART(打开规则通道)/JSWSTART(打开注入通道)
外部事件触发:内部定时器或外部GPIO通道触发.
- 转换事件:
Tconv = 采样时间 + 12.2个周期
时钟最大14M,一般设置位12M(72/6)
5.数据寄存器
规则通道的:ADC_DR
注入通道:JDRx
6.中断:
规则通道、注入通道、看门狗
- 电压转换:
分辨率为12位;
typedef struct
{
//ADC工作模式选择,独立模式,双重模式(7):同步规则模式,快速交叉模式
uint32_t ADC_Mode;
//ADC扫描,
FunctionalState ADC_ScanConvMode;
//连续转换模式
FunctionalState ADC_ContinuousConvMode;
//外部触发转换选择
uint32_t ADC_ExternalTrigConv;
//数据对齐
uint32_t ADC_DataAlign;
//转换多少个通道
uint8_t ADC_NbrOfChannel;
}ADC_InitTypeDef;
RCC_ADCCLKConfig();配置ADC的时钟
ADC_RegularChannelConfig();
ADC_Cmd()
ADC_SoftwareStartConvCmd();软件触发
ADC_ExternalTrigConvCmd();外部触发
ADC_DMACmd();
网友评论