STM32_温度传感器和光敏传感器

STM32F4 有一个内部的温度传感器,可以用来测量 CPU 及周围的温度(TA)。该温度传感器在内部和 ADC1_IN16或 ADC1_IN18输入通道相连接,此通道把传感器输出的电压转换成数字值。

  • STM32F4 的内部温度传感器支持的温度范围为:-40~125 度。精度为±1.5℃左右。
  • STM32F4 的内部温度传感器模拟输入推荐采样时间是17.1us

内部温度传感器更适合于检测温度的变化而不适合于测量绝对温度

内部温度传感器框图:
STM32_温度传感器和光敏传感器
ADC通道和引脚对应关系
(好像这里的温度传感器无需GPIO的设置)
STM32_温度传感器和光敏传感器

内部温度传感器的设置:
①我们要使用 STM32F4 的内部温度传感器,必须先** ADC 的内部通道,这里通过 ADC_CCR 的 TSVREFE 位(bit23)设置。设置该位为 1 则启用内部温度传感器
②STM32F407ZGT6 的内部温度传感器固定的连接在 ADC1 的通道 16 上,我们只要在设置好 ADC1 之后只要读取通道 16 的值,就是温度传感器返回来的电压值了。
根据这个值,我们就可以计算出当前温度。计算公式如下:
T(℃)={( V25 - V①)/Avg_Slope}+25
上式中:
V25=Vsense 在 25 度时的数值(典型值为:0.76)。
Avg_Slope=温度与 Vsense 曲线的平均斜率(单位为 mv/℃或 uv/℃)(典型值为2.5mV/℃)

开启内部温度传感器的步骤
①设置ADC1(可能包含IO初始),选择ADC输入通道并设置采样时间(>17.1us)
②设置ADC_CCR的TSVREFE位,使能温度传感器
③设置ADC_CR2的SWSTART位启动转换
④读取结果进行计算