STM32读取芯片内部温度

基于stm32f103cbt6这款芯片,原理部分请参考其他文章,此文章为快速上手得到结果,以结果为导向。

1.基础配置

打开stm32cubemx只需要勾选中 ADC1 Temperature Sensor Channel

2.代码分析

c 复制代码
/*
 *  函数名:float GetAdcAnlogValue(void)
 *  输入参数:无
 *  输出参数:无
 *  返回值:返回一个float型值,即采样到的模拟电压值
 *  函数作用:获取ADC的采样到的内部温度
 *  
 *  备注:此处参考电压为3.3V
*/
float GetTemptureValue(void)
{
    uint16_t nData = 0;
    float nValue = 0.0;
    /*连续模式*/
//    HAL_ADC_Start(&hadc1);                  // 启动ADC1
//    HAL_ADC_PollForConversion(&hadc1, 250); // 等待ADC转换结束
	/* 关闭 */
	
    nData = HAL_ADC_GetValue(&hadc1);       // 得到转换数据
    nValue = (1.43 - nData*3.3/4096)*(1000/4.3) + 25; /* 计算公式 */

    // 返回计算得到的模拟电压值
    return nValue;
}


相关推荐
兆龙电子单片机设计1 小时前
【STM32项目开源】STM32单片机智能恒温箱控制系统
stm32·单片机·物联网·开源·毕业设计
索迪迈科技4 小时前
基于野火F407开发板实现电源管理-停止模式
c语言·stm32·单片机·嵌入式硬件·mcu
小莞尔4 小时前
【51单片机】【protues仿真】基于51单片机宠物投食系统
c语言·stm32·单片机·嵌入式硬件·51单片机
方圆工作室5 小时前
Arduino音乐键盘程序
单片机·嵌入式硬件·计算机外设
Echo_cy_5 小时前
STM32 SPI通信协议
stm32·单片机·嵌入式硬件
JiaWen技术圈5 小时前
关于 MCU 芯片外围电路的快速入门介绍
单片机·嵌入式硬件
武文斌776 小时前
arm启动代码总结
arm开发·嵌入式硬件·学习
我怕是好7 小时前
学习stm32 蓝牙
stm32·嵌入式硬件·学习
药9557 小时前
STM32开发(USART总线:UART总线)
stm32·单片机·嵌入式硬件
索迪迈科技7 小时前
STM32F103C8T6开发板入门学习——点亮LED灯2
stm32·嵌入式硬件·学习