我使用的是内置的模数转换器温度传感器,在低功耗设备中没有处于停止模式的传感器,uController大约消耗4 uA,但当温度传感器打开时,消耗高达8-9 uA。问题是我无法关闭传感器/我只是通过将其从stop设置为关闭来测量关闭电流
我正在寻找一个可以关闭温度传感器的代码,到目前为止,我已经测试了这些:
1-
HAL_ADC_Init(&hadc);
hadc.Lock=HAL_UNLOCKED;
__HAL_UNLOCK(&hadc);
HAL_ADCEx_DisableVREFINTTempSensor();2-
ADC1->CR&=0X00000000;
ADC->CCR&=~(1<<23);我更喜欢使用HAL,它似乎不会切断传感器的电源
发布于 2019-01-10 17:28:35
您的ADC1->CR &= 0x00000000;代码行在我看来是错误的,这取决于您使用的控制器。
通常需要设置一位来禁用ADC,而不是全写0。请尝试使用ADC1->CR = (0x01 << 1);。如果你有为你的处理器编写的same定义,ADC1->CR = ADC_CR_ADDIS;应该是相同的,但更具可读性。禁用模数转换器后,您将能够关闭ADC->CCR的TSEN位。
https://stackoverflow.com/questions/54125201
复制相似问题