ADC

作者: 圆肩男孩 | 来源:发表于2020-08-23 13:51 被阅读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();
    

    相关文章

      网友评论

          本文标题:ADC

          本文链接:https://www.haomeiwen.com/subject/nljujktx.html