CLK_ICKCR |= 0x04; // Enable LSI (++set LSION)
CLK_SWCR = 0x02; // Enables switching the system clock (bit SWEN)
CLK_SWR = 0x02; // choose LSI
while(!(CLK_ICKCR&(1<<3))); // wait stabilisation LSI
CLK_ICKCR &=~ (1<<0); // Disable HSI
asm("halt");
Когда добавляю команду asm("halt"); - потребление становится ~350 мкА, без этой конструкции ~430 мкА. LSI (судя по частоте мигания светодиода) запускается и проц тактируется от него. Но, такое ощущение, что HSI не отключается и работает на частоте 2 МГц, судя по потреблению. В ДШ как раз указано 150 мкА/МГц. В чём может быть косяк? Как правильно отключить HSI?
P.S. Пишу и отлаживаю в IAR 2.2
P.P.S. Провёл доп. исследование: в майне воткнул просто команду asm("halt"); - при этом ток стал 576 мкА! Проверил на stm8s003f3 - с такой же конструкцией (без инициализации тактирования и отключения периферии) потребление не более 15 мкА!!! Кто-нибудь сталкивался с такой проблемой у STM8L051? Может, кривая ревизия? (у меня это буковка Z)


