条件:
- STM32L051开发板
- HAL库
- Keil MDK 5
官方RM0377 参考手册读内部温度公式:
参考手册给了2个公式,第1个是利用出厂校准的130度的值和30度的值来计算,第2个公式是利用V30和Avg_Slope来计算。 然而在我能找到的资料当中并未找到STM32L051的V30是多少,网上找到的都是F103或者F407的值,而且是V25不是V30。所以只能利用公式一来计算。
STM32L051的规格书中给出了TS_CAL2和TS_CAL1的值:
TSENSE_CAL1即 TS_CAL1,TSENSE_CAL2即TS_CAL2。
ADC配置使用CUBE配置,使用DMA。以下是计算的部分的程序:
//MCU内部温度传感器
#define TEMP130_CAL_ADDR ((uint16_t*) ((uint32_t) 0x1FF8007