當(dāng)前位置:首頁 > 單片機 > 單片機
[導(dǎo)讀]一、 STM8S 外部中斷進行喚醒先了解一下STM8S的中斷資源再看看STM8S的中斷管理。STM8S采用軟件優(yōu)先級和硬件優(yōu)先級來控制一個中斷的響應(yīng),先比較軟件優(yōu)先級只有當(dāng)軟件優(yōu)先級一致時才會比較硬件優(yōu)先級,由于硬件優(yōu)先級

一、 STM8S 外部中斷進行喚醒

先了解一下STM8S的中斷資源


再看看STM8S的中斷管理。STM8S采用軟件優(yōu)先級和硬件優(yōu)先級來控制一個中斷的響應(yīng),先比較軟件優(yōu)先級只有當(dāng)軟件優(yōu)先級一致時才會比較硬件優(yōu)先級,由于硬件優(yōu)先級具有唯一性,這樣便保證了某一時刻定會只有一個中斷被處理。

要使用外部中斷,只需簡單的配置一下EXTI_CR1寄存器,并將主程序main的軟件優(yōu)先級置為0即可。默認情況下自復(fù)位開始,主程序的軟件優(yōu)先級被設(shè)置為3,處于最高軟件優(yōu)先級,僅有TRAP,TLI,RESET中斷能夠打斷,其余的中斷都是不會被響應(yīng)的。


為了防止中斷過程中被別的優(yōu)先級高的中斷所打斷,可以將當(dāng)前優(yōu)先級置為最高3級。


代碼如下:


main.c代碼

//EXTI_CR1|=EXTI_CR1_PBIS_R;//PB5TRINT高電平觸發(fā)

EXTI_CR1|=EXTI_CR1_PCIS_R;//PC3上升沿觸發(fā)

//#defineEXTI_CR1_PCIS_R(1<<4)

RIM;//開全局中斷,必須要有這句,否則只會響應(yīng)不可屏蔽中斷

//#defineHALT_asm("halt")

//#defineRIM_asm("rim")

//#defineSIM_asm("sim")

GPIO_Init(GPIOC,TRINT,GPIO_MODE_IN_PU_IT);//使能對應(yīng)的IO口中斷

stm8s_it.c代碼

//收發(fā)中斷(PC3)BJ8F101

@far@interruptvoidEXTI_PORTC_IRQHandler(void)

{

//作為接收中斷使用,需要注意PSB_D,TRRDY_U會產(chǎn)生一次中斷,TRINT被拉高

if(cur_mode==RX_MODE)

{

//為了排除第一次,可以檢測PSB是否為高,高表示是ActiveMode

if(PB_ODR&PSB)

{

ss=1;

}

}else

{

}

return;

}

其實rim指令,只是將主程序的軟件優(yōu)先級降低為0,這樣才能被中斷打斷。自然sim指令適用于將軟件優(yōu)先級拉升至3級別。


而且還得注意如果一個端口上存在幾個不同的中斷(PC3,PC4,PC5都有中斷發(fā)生),只能根據(jù)其他的一些標志來判斷是哪個IO口中斷,其實這個芯片是沒有中斷標志位的。

另外一個是出現(xiàn)進入中斷后跳不出來,很有可能是指令執(zhí)行順序不正確,如:先執(zhí)行了rim指令,接著使能GPIO口中斷后,將對應(yīng)的IO口設(shè)置為上升沿觸發(fā),發(fā)現(xiàn)跳進中斷后就出不來。這個原因是因為IO口可能復(fù)位后就處于不確定狀態(tài),執(zhí)行rim后立刻就被響應(yīng)。默認情況下IO口上升沿下降沿都將觸發(fā)中斷。


外部中斷是能夠喚醒系統(tǒng)的,如:

也就是說在main函數(shù)中執(zhí)行了halt指令后,進入停機模式(沒有使能AWU的情況下),外部中斷能夠?qū)CU中停機喚醒。使用仿真器可以設(shè)置斷點進行證實,或者通過LED燈亦可。

二、 AWU自動喚醒

STM8S除了等待模式,停機模式,還提供活躍停機模式?;钴S停機的使用,只需要將AWU使能即可。

#ifdefENABLE_AWU

voidInit_AWU(void)

{

CLK_PCKENR2=CLK_PCKENR2_AWU;//使能AWU時鐘

//#defineAWU_AWUTB_1S0x0C/*500ms~1s*/

//#defineAWU_AWUTB_2S0x0D/*1s~2s*/

AWU_TBR=AWU_AWUTB_1S;//AWU_AWUTB_2S;//1~2s

AWU_APR=0x3E;//分頻

AWU_CSR|=0x10;//AWU使能

#ifdefPOWER_LEVEL_1//功耗1,最省電

CLK_ICKR|=CLK_ICKR_REGAH;//活躍停機模式(AWU使能情況)下,關(guān)閉電壓調(diào)節(jié)器節(jié)省功耗

FLASH_CR1|=FLASH_CR1_AHALT;//活躍停機模式下Flash掉電,默認只有停機模式才掉電,代價是喚醒時間增加至微秒級別

#endif/*ENABLEPOWER_LEVEL_1*/

}

#endif/*ENDENABLE_AWU*/

然后在main函數(shù)內(nèi)部執(zhí)行halt指令后直到AWU進行喚醒,MCU才會接著運行。另外STM8S的AWU定時喚醒提供最大30秒左右延時。




三、窗口看門狗

STM8S提供兩種類型看門狗,個人感覺窗口看門狗能夠解決停機模式與使用看門狗的矛盾,因此獨衷于窗口看門狗。


代碼如下:

#ifdefENABLE_WWDG

voidInit_WWDG(void)//初始化窗口看門狗

{

//窗口看門狗在計數(shù)值降到0x3F時產(chǎn)生復(fù)位,而且不能在大于窗口值時喂狗,否則復(fù)位

WWDG_WR=0x60;//看門狗窗口值,窗口值必須在0x3F以上,但必須小于計數(shù)值,否則無法喂狗

WWDG_CR=0x7F;//看門狗計數(shù)值

WWDG_CR|=0x80;//使能窗口看門狗

//4Mhz主頻,計數(shù)值0x7F最大延長時間為(64*(12288/4000000))=196ms

}

voidFree_WWDG(void)

{

if((WWDG_CR&0x7F)

WWDG_CR|=0x7F;//重新喂狗

}

#endif/*ENDENABLE_WWDG*/

不能使用定時器來定時喂狗,MCU掛掉后可能定時器電路仍在工作,這樣看門狗就失去了意義。


獨立看門狗不受MCU停機模式或其他模式影響,它的時鐘是獨立的,所以進入停機模式會導(dǎo)致系統(tǒng)復(fù)位。


總結(jié):

1、中斷的使用需要注意優(yōu)先級的設(shè)置,以及對應(yīng)的IO口使能觸發(fā)條件。

2、AWU的使用相對簡單,只需要注意將時鐘打開。

3、窗口看門狗要注意喂狗,以及延時設(shè)置,具體延時時間可以使用 step = 12288 / fclk_wwdg_ck計算出來。


本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉