注意:1、ADC_TempSensorVrefintCmd(ENABLE); //开启内部温度传感器
2、ADC读出来的是电压值,要按公式来转换T(℃) ={(V25-Vsense) /Avg_Slope}+25
V25=Vsense 在 25 度时的数值(典型值为: 1.43)。
Avg_Slope=温度与 Vsense 曲线的平均斜率(单位为 mv/℃或 uv/℃)(典型值为
4.3Mv/℃)。
temp=((1.43-temp)/0.0043)+25;//uv
temp=temp*100;//100倍变为mv
#include "led.h"
#include "delay.h"
#include "key.h"
#include "sys.h"
#include "lcd.h"
#include "usart.h"
#include "rtc.h"
#include "adc.h"
#include "tlc549.h"
void myCpuTemInit(void);
u16 myCpuTemHandler(u8 ch);
u16 Cpu_tem(u8 ch,u8 time);
int main(void)
{
u16 cpu_val=0;
float temp=0;
delay_init(); //延时函数初始化
NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2); //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
uart_init(

本文介绍了如何使用STM32F103进行CPU温度测量,通过开启内部温度传感器并利用ADC读取电压值,再根据特定公式转换成温度。转换过程中涉及V25和Avg_Slope参数,最终将温度以毫伏表示。
最低0.47元/天 解锁文章
5020

被折叠的 条评论
为什么被折叠?



