STM32温度传感器断电

时间:2019-01-10 09:09:35

标签: stm32 temperature adc hal

我正在使用内部ADC温度传感器,在无传感器处于停止模式的低功耗设备中,uController的功耗约为4 uA,但是当温度传感器开启时,功耗高达8-9 uA 问题是我无法关闭传感器/我只是通过从stmcube开始将其设置为关闭来测量关闭电流

我正在搜索可以关闭温度传感器的代码 到目前为止,我已经测试了这些:

1-

HAL_ADC_Init(&hadc);
hadc.Lock=HAL_UNLOCKED;
__HAL_UNLOCK(&hadc);
HAL_ADCEx_DisableVREFINTTempSensor();

2-

ADC1->CR&=0X00000000;
ADC->CCR&=~(1<<23);

我更喜欢使用HAL,它似乎并没有降低传感器的功率

1 个答案:

答案 0 :(得分:0)

您的ADC1->CR &= 0x00000000;行对我来说似乎不对,具体取决于您使用的控制器。

通常有一点需要禁用ADC,而不是全部写入0。尝试使用ADC1->CR = (0x01 << 1);。如果您有ST Micro的处理器ADC1->CR = ADC_CR_ADDIS;书面定义,则应相同但可读性更好。禁用ADC后,您将可以关闭TSEN的{​​{1}}位。