STM32 Датчик температуры выключен - PullRequest
0 голосов
/ 10 января 2019

Я использую внутренний датчик температуры АЦП, в устройстве с низким энергопотреблением без датчика в режиме остановки, uController потребляет около 4 мкА, но когда датчик температуры включен, потребление достигает 8-9 мкА. проблема в том, что я не могу выключить датчик / я только что измерил ток выключения, отключив его с помощью 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 голосов
/ 10 января 2019

Ваша строка ADC1->CR &= 0x00000000; выглядит неправильно для меня, в зависимости от используемого контроллера.

Обычно есть немного, чтобы отключить АЦП, который нужно установить, вместо записи всех 0. Попробуйте ADC1->CR = (0x01 << 1); вместо этого. Если у вас написано ST Micro, определения для вашего процессора ADC1->CR = ADC_CR_ADDIS; должны быть такими же, но более читабельными. После отключения АЦП вы сможете отключить TSEN бит ADC->CCR.

...