第六章 金龙107——内部温度
6.1 STM32内部温度:STM32内部有一个温度传感器,用来测量周围及CPU的温度。该传感器和ADC1_IN16输入通道相连,此通道把传感器输出的电压值转换为数字值。温度传感器模拟输入推荐采样时间是 17.1μs。 STM32 内部温度传感器的使用很简单,只要设置一下内部 ADC,并打开其内部通道就差不多了。接下来我们介绍一下和温度传感器设置相关的地方。① 我们要使用 STM32 的内部温度传感器,必须先打开 ADC 的内部通道。② STM32 的内部温度传感器固定的连接在 ADC 1的通道 16 上,所以,我们在设置好 ADC 之后只要读取通道 16 的值,就是温度传感器返回来的电压值了。根据这个值,我们就可以计算出当前温度。计算公式如下: T(℃)={(V25-Vsense)/Avg_Slope}+25 上式中: V25=Vsense 在 25 度时的数值(典型值为:1.43)。 Avg_Slope=温度与 Vsense 曲线的平均斜率(单位为 mv/℃或 uv/ ℃)(典型值为 4.3Mv/℃)。 利用以上公式,我们就可以方便的计算出当前温度传感器的温度了。 6.2实验说明:在本实验中,主要使用STM32F107的ADC采集内部温度,并在彩屏上显示,LED1灯闪烁指示程序的运行。 主要跳线帽:JP4和JP7都接在2-3上 6.3硬件说明:注意3.2寸彩屏与板子TFT LCD接口引脚的对应。 6.4程序说明:本实验配置主要是ADC的配置,其通道要选择对应的测量内部温度的通道(ADC_Channel_16),函数在hw_config.c文件。 ADC_RegularChannelConfig(ADC1,ADC_Channel_TempSensor,1,ADC_SampleTime_239Cycles5)。来看看这个函数,第一个输入参数是ADC1或ADC2;第二个是ADC通道;第三个是规则组采样顺序,取值范围是1~16;第四个是采样时间。 再者就是LCD的驱动,这里我们已经写好了LCD的驱动函数,你只需要直接调用就可以,至于如何实现字符的显示,你可以详细阅读我们的程序。需要注意的是你的LCD的驱动芯片是否与我们所编写的函数相对应。 6.5实验现象:彩屏蓝色字体显示“Gold Dragon STM32”,“ TEMPERATE TEST”,“ www.openmcu.com”红色字体显示:"TEMP_VAL:","TEMP_VOL:0.000V","TEMPERATE:00.00C"后面的值会动态的修改。一个LED灯闪烁指示程序运行。
|