STM8S 低功耗(1)


STM8S的低功耗模式有4種。 關系如下。

 

本次使用的停機(HALT)

使用了內部定時器,外部中斷,LED指示是否進入低功耗。

在while循環中設置如下

 1 while(1)
 2 {
 3           if(!IR_IN)  // 外部中斷產生
 4         {
 5                       執行程序...
 6           
 7               IR_IN = 1; 
 8         }
 9         else
10         {
11             TIM1_Cmd(DISABLE); // 關閉定時器
12             ClrLED;  //關閉LED
13             _asm("halt"); // 進入停機模式
14             SetLED;      // 開啟LED
15         }   
16 }

在主函數中檢測到 外部中斷了,執行相關函數。

函數自行完成后,進入else

其中如果使用halt模式,可以不寫11行。如果使用WFI模式需要寫11行

在else中 13行開起停機模式。

如果停機模式正常進入,LED燈是熄滅的,如果沒有進入停機模式,LED燈被開啟。 用來判斷狀態。

 

測試:

按鍵觸發,外部中斷引腳產生下降沿中斷,點亮LED燈(在中斷函數中點亮的)

當按鍵彈起后LED燈熄滅。。

由於測試工具限制,只能確保電流低於1ma。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM