本帖最后由 dffzh 于 2025-6-4 17:24 编辑
#申请原创#
@21小跑堂
我们有时候会利用MCU芯片内部的温度传感器来读取MCU温度,并用此温度数据来做一些应用功能,比如参数随温度动态调整,监控MCU芯片温度或者线性调整温度偏移等功能。这篇文章作者就带大家看一下如何读取STM32的STM32G431KBU3芯片的内部温度数据。通过整个读取过程的操作,以后大家遇到其他芯片,也可以按这个步骤进行尝试。 1、先看手册 我们先来看下芯片数据手册,找到与内部温度传感器相关的章节介绍,主要如下: 温度数据一般来源于模拟信号,那肯定是用ADC模块,所以我们先确认绑定了ADC外设的哪个通道,这个时候就需要打开数据手册或者用户手册来查看:
从用户手册可以看出,内部温度传感器是绑定了ADC1的16通道和ADC5的4通道。 再来看看对温度传感器的说明,读取流程和计算方法:
如果公式里面有一些常量参数值,也要看下如何读取出来: 2、再写代码 知道怎么读取芯片的温度传感器数据和计算方法后,接下来就可以编写代码调试了。 代码主要涉及ADC初始化配置和温度读取两个方面。 其中读取芯片内部温度传感器的ADC通道对应的宏是: ADC初始化配置接口为MX_ADC_Init,代码如下: |