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


相关推荐
冰茶丿20 分钟前
嵌入式安全第一关:Secure Boot是怎么保护你的设备的?
嵌入式硬件·安全
卖萌的斜阳25 分钟前
W55MH32L-EVB 上手测评:硬件 TCP/IP 加持的以太网单片机,MicroPython 零门槛开发
单片机·网络协议·tcp/ip
Kuakewei8881 小时前
4056充电芯片:28V高耐压+电池反接保护+热调节功能
嵌入式硬件
三品吉他手会点灯1 小时前
嵌入式机器学习 - 学习笔记1.1.1 - 什么是机器学习?
c语言·人工智能·笔记·嵌入式硬件·学习·机器学习
woohuwan1 小时前
CST 匝数比和采样电阻怎么算?
单片机·嵌入式硬件
王光环4 小时前
STM32H750串口一直进IRQ问题解决
stm32·单片机·嵌入式硬件
2401_854151555 小时前
STM32 选项字节与读写保护(RDP)
stm32·单片机·嵌入式硬件
piaoyiren5 小时前
STC8 单片机蜂鸣器播放音乐
单片机·嵌入式硬件
阿拉斯攀登6 小时前
无人售货柜MQTT客户端工业级配置:心跳、遗嘱、重连、QoS适配实战
嵌入式硬件·mqtt·安卓·零售·无人售货柜·无人售货机
KaifuZeng7 小时前
通信与接口协议面试问题汇总三
单片机·嵌入式硬件·面试·通信与接口协议