|
如果你象其它單片機(jī)一樣,開啟了AWU,然后來一句halt();
那么此時的電流為200uA左右,到此差不多心灰意冷,STM8S這么差勁兒!
仔細(xì)閱讀《STM8S系列MCU功耗管理》,它的電源分為MVR和LPVR,也搞不懂ST的科學(xué)家們?yōu)槭裁磫纹瑱C(jī)在halt()時直接變?yōu)長PVR供電算了,非要手動設(shè)一下,通過設(shè)置內(nèi)部時鐘寄存器CLK_ICKR的REGAH位可實(shí)現(xiàn)此功能
CLK_SlowActiveHaltWakeUpCmd(ENABLE);
經(jīng)過這么一整,電流有改進(jìn),在69uA,和官方的PDF的68uA很接近,但仍不能滿足電池供電需求,官方PDF活躍停機(jī)電流為11uA@5V 9uA@3.3V,再仔細(xì)讀,原來必須要關(guān)閉FLASH,只是關(guān)閉了FLASH啟動要慢幾個us,這個無所謂了,只要不是秒級的,對我的應(yīng)用無所謂,所以這兒還必須在halt()前先啟用活躍停機(jī)時關(guān)閉flash選項(xiàng),FLASH_CR1 的AHALT位置1
這里要特別注意,在《STM8S參考手冊》中文參考手冊中,描述如下
AHALT:活躍停機(jī)(Active halt)模式下掉電
0:當(dāng)MCU在活躍停機(jī)模式時FLASH處于掉電模式
1:當(dāng)MCU在活躍停機(jī)模式時FLASH處于運(yùn)行模式
所以這兒要是信了中文PDF,可能你將會和我一樣,要多折騰30分鐘,如果你執(zhí)行 電流就變成了11uA
void Flash_OFF_act_halt(void){
FLASH->CR1 |= 0x04;
}
|
|