ADC

2020-08-23  本文已影响0人  圆肩男孩

ADC: Analog to Digital Converter
采样周期:ADC的还原能力
分辨率:ADC的精度----V▲=3.3V/(2^12)≈0.0008V
12位的分辨率

注入转换:优先级别高,可以打断规则转换
转换序列、扫描模式、单次转换(一次)、连续转换(循环)

  1. 电压的输入范围:-VREF(GND) ≤ VIN +VREF(3.3V)
  2. 输入通道: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通道触发.

  1. 转换事件:
    Tconv = 采样时间 + 12.2个周期
    时钟最大14M,一般设置位12M(72/6)
    5.数据寄存器

规则通道的:ADC_DR
注入通道:JDRx

6.中断:
规则通道、注入通道、看门狗

  1. 电压转换:
    分辨率为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();
上一篇下一篇

猜你喜欢

热点阅读