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;
}


相关推荐
小李做物联网22 分钟前
【单片机毕设】c24基于单片机stm32蓝牙温室大棚物联网毕业设计
stm32·单片机·嵌入式硬件·物联网
电子工程师成长日记-C511 小时前
51单片机厨房环境参数监测(温湿度、烟雾、燃气、CO、甲醛)
单片机·嵌入式硬件·51单片机
9稳1 小时前
基于PLC的垃圾车自动收集装置控制系统设计
开发语言·网络·数据库·嵌入式硬件·plc
石头明月2 小时前
基于XC7A35T的DDR3 IP核使用
嵌入式硬件·fpga开发
czhaii2 小时前
8H/8G,32G12K128, Ai8051U的上电延时
单片机
C语言不精2 小时前
解决ESP出现MD5报错或验证芯片bug
嵌入式硬件·bug·esp32
平凡灵感码头2 小时前
一圈铜线,也能当按键?
单片机·嵌入式硬件
清风6666662 小时前
基于单片机的智能家居门铃系统设计
单片机·嵌入式硬件·毕业设计·智能家居·课程设计·期末大作业
坏柠2 小时前
我是如何从零开始,把 ESP32-S3 跑起来的
嵌入式硬件
锻炼²12 小时前
stm32 HAL配置usb全速 自定义HID类详解
stm32·usb·usb枚举过程·全速传输