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


相关推荐
鸿喵小仙女41 分钟前
C# WPF读写STM32/GD32单片机Flash数据
stm32·单片机·c#·wpf
lucy153027510791 小时前
MCU 功耗基准测试
科技·单片机·嵌入式硬件·智能家居·信号处理·工控主板
m0_748240912 小时前
OpenMV与STM32通信全面指南
stm32·单片机·嵌入式硬件
Cchengzu4 小时前
阿里巴巴2017实习生笔试题(二)
stm32·单片机·嵌入式硬件
重生之我是数学王子7 小时前
单片机 STM32入门
stm32·单片机·嵌入式硬件
qq_4597300311 小时前
4-3 MCU中ARM存储器的作用
arm开发·单片机·嵌入式硬件
嵌入式科普14 小时前
嵌入式科普(24)从SPI和CAN通信重新理解“全双工”
c语言·stm32·can·spi·全双工·ra6m5
重生之我是数学王子14 小时前
点亮核心板小灯 STM32U575
stm32·单片机·嵌入式硬件
end_SJ14 小时前
初学stm32 --- 定时器中断
stm32·单片机·嵌入式硬件
南城花随雪。14 小时前
单片机:实现数码管动态显示(0~99999999)74hc138驱动(附带源码)
单片机·嵌入式硬件