• STM32的内部温度传感器


    1、STM32的内部温度传感器
       STM32内部温度传感器与ADC的通道16相连,与ADC配 合使用实现温度测量。测量范围–40~125℃,精度 ± 1.5℃
    操作流程:
       1)、设置ADC相关参数
       // ADC1 configuration -----------------------------
       ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;
       ADC_InitStructure.ADC_ScanConvMode = ENABLE;
       ADC_InitStructure.ADC_ContinuousConvMode = ENABLE;
       ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None;
       ADC_InitStructure.ADC_DataAlign = ADC_DataAlign_Right;
       ADC_InitStructure.ADC_NbrOfChannel = 1;
       ADC_Init(ADC1, &ADC_InitStructure);
       2)、选中ADC1的通道16作为输入,设置采样时间17.1us ( Ncycle × tADC = 17.1靤 )。
       // ADC1 regular channel16 Temp Sensor configuration
       ADC_RegularChannelConfig(ADC1, ADC_Channel_16, 1, ADC_SampleTime_55Cycles5);
       3)、设置寄存器ADC_CR2中的TSVREFE位激活温度传感器
       // Enable the temperature sensor and vref internal channel
       ADC_TempSensorVrefintCmd(ENABLE);
       4)、转换采样值为温度
       ADC转换结束以后,读取ADC_DR寄存器中的结果,转换温度值计算公式如下:
               V25 - VSENSE
       T(℃) = ------------  + 25
                Avg_Slope
          V25:  温度传感器在25℃时 的输出电压,典型值1.43 V。
         VSENSE:温度传感器的当前输出电压,与ADC_DR 寄存器中的结果ADC_ConvertedValue之间的转换关系为: 
                           ADC_ConvertedValue * Vdd
                 VSENSE = --------------------------
                           Vdd_convert_value(0xFFF)
         Avg_Slope:温度传感器输出电压和温度的关联参数,典型值4.3 mV/℃。
         //Converted Temperature
         Vtemp_sensor = ADC_ConvertedValue * Vdd / Vdd_convert_value;
         Current_Temp = (V25 - Vtemp_sensor)/Avg_Slope + 25;
    2、VDDA的电压范围
        STM32的数据手册规定,VDD与VDDA之间的压差不能大于300mV。ADC的工作电压范围在2.4V~3.6V,供电电压VDD范围在2.0V~3.6V.

  • 相关阅读:
    既可以支持整数四则运算,也可以支持分数四则运算,可定制出题数量的c语言程序
    NABCD需求分析
    求一维循环数组的最大子数组和(二人结对编程)
    返回一个二维整数数组中最大子数组的和(二人结对)
    返回一个整数数组中最大子数组的和。(二人结对编程)
    二柱子2.0编程总结
    随机生成30道小学二年级四则远算题目2.0
    随机生成30道小学二年级四则远算题目
    搜狗输入法的使用感受与评价
    第一次站立会议
  • 原文地址:https://www.cnblogs.com/hnrainll/p/1936062.html
Copyright © 2020-2023  润新知