欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標題:
stm8s單片機停機模式無法降低電流?
[打印本頁]
作者:
Arouw
時間:
2022-11-23 18:28
標題:
stm8s單片機停機模式無法降低電流?
各位大佬好,最近在做一個stm8s驅(qū)動燈板的項目,用到了鋰電池,可以進行充電。但在測試階段發(fā)現(xiàn)電池掉電特別快,17h掉了0.6V,而驅(qū)動燈板至少需要2.7V,根本無法滿足需求。所以加了一個進入停機模式的代碼,可是發(fā)現(xiàn)沒有得到改善。
今天測試了一下待機電流,發(fā)現(xiàn)竟然有6.5mA這么高!難怪根本存不住電,實在是太離譜了。
我用的是stm8s001,因為涉及到swim燒寫口與IO口復用的問題,所以在main()里執(zhí)行其他函數(shù)之前加了一句
Delay(1000); //延時
方便進行燒錄程序,因為在測試階段所以這句代碼也沒有刪掉。運用萬用表測試時發(fā)現(xiàn),初始上電,電流1mA,延時結(jié)束后初始化IO口初始化一堆函數(shù)后就變成了6.5mA。在關閉led燈板執(zhí)行停機代碼后,待機電流也是1mA,但很快也是經(jīng)過幾秒(推測是過了延時)就又變成了6.5mA。
查詢了網(wǎng)上相關資料也沒有找到合適的解決方法,百思不得其解,不知道到底是哪里出了問題,懇請各位大佬指教!
單片機源程序如下:
//***************主函數(shù)**********************//
void main(void)
{
Delay(5000);
///*上電復位后延時5s,預約swim燒寫時間,否則會鎖死*///
_asm("sim"); //關總中斷
Res_Ctrl(); //復位
GPIO_init();//IO配置
SysClkInit();//時鐘配置
EXTI_Init();//外部中斷配置
_asm("rim"); //開總中斷
while(1)
{
}
}
復制代碼
作者:
Arouw
時間:
2022-11-23 18:32
/***********************************************************
函 數(shù) 名: Key1_Working & Key2_Working
函數(shù)描述: 開機控制按鍵配置
備 注: 1、KEY1按鍵情況執(zhí)行:
1)開機,高檔亮度;
2)中檔亮度;
3)爆閃SOS;
4)關機;
本函數(shù)在外部中斷中執(zhí)行,識別到按鍵按下才會執(zhí)行相關擋位 。
***********************************************************/
void Key1_Working(void)
{
switch(Key1_Flag)
{
case 1://開機,高檔亮度;
LED_PWM(1);
Flag=1; //開關機標志位為1
break;
case 2://中檔亮度;
LED_PWM(2);
break;
case 3://爆閃SOS;
LED_PWM(3);
break;
case 4:
LED_PWM(4);
Key1_Flag = 0; //按鍵計數(shù)為0
Flag = 0 ; //開關機標志位為0
_asm("HALT");
break;
default: break;
}
}
復制代碼
作者:
Arouw
時間:
2022-11-24 08:38
求各位大佬指點一下,剛剛我又看了一下,17h掉電了0.17V,雖然已經(jīng)降低了但是還是無法滿足正常使用的需求,實在不知道該怎么改了。
作者:
Arouw
時間:
2022-11-24 14:34
各位好,這個問題已經(jīng)解決了。原來需要將
_asm("HALT");
這句加在main函數(shù)里,我選擇了在其他函數(shù)初始化之后進入停機模式,這樣待機電流可以降低至0.1mA甚至0.03mA。然后我又加了一句
FLASH_CR1 |= 0x80;
這樣FLASH就可以在停機模式下不掉電了。
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1