STM32F10xxx支持三種復(fù)位形式,分別為系統(tǒng)復(fù)位、上電復(fù)位和備份區(qū)域復(fù)位。
一、系統(tǒng)復(fù)位
系統(tǒng)復(fù)位將復(fù)位所有寄存器至它們的復(fù)位狀態(tài)。
當(dāng)發(fā)生以下任一事件時,產(chǎn)生一個系統(tǒng)復(fù)位:
NRST引腳上的低電平(外部復(fù)位)
窗口看門狗計數(shù)終止(WWDG復(fù)位)
獨立看門狗計數(shù)終止(IWDG復(fù)位)
軟件復(fù)位(SW復(fù)位)
低功耗管理復(fù)位 可通過查看RCC_CSR控制狀態(tài)寄存器中的復(fù)位狀態(tài)標(biāo)志位識別復(fù)位事件來源。
軟件復(fù)位通過將Cortex?-M3中斷應(yīng)用和復(fù)位控制寄存器中的SYSRESETREQ位置’1’,可實現(xiàn)軟件復(fù)位。請參考Cortex?-M3技術(shù)參考手冊獲得進(jìn)一步信息。低功耗管理復(fù)位在以下兩種情況下可產(chǎn)生低功耗管理復(fù)位:
在進(jìn)入待機模式時產(chǎn)生低功耗管理復(fù)位:通過將用戶選擇字節(jié)中的nRST_STDBY位置’1’將使能該復(fù)位。這時,即使執(zhí)行了進(jìn)入待機模式的過程,系統(tǒng)將被復(fù)位而不是進(jìn)入待機模式。
在進(jìn)入停止模式時產(chǎn)生低功耗管理復(fù)位:通過將用戶選擇字節(jié)中的nRST_STOP位置’1’將使能該復(fù)位。這時,即使執(zhí)行了進(jìn)入停機模式的過程,系統(tǒng)將被復(fù)位而不是進(jìn)入停機模式。
關(guān)于用戶選擇字節(jié)的進(jìn)一步信息,請參考STM32F10xxx閃存編程手冊。
二、電源復(fù)位
電源復(fù)位當(dāng)以下事件中之一發(fā)生時,產(chǎn)生電源復(fù)位:
上電/掉電復(fù)位(POR/PDR復(fù)位)
從待機模式中返回 圖4) 電源復(fù)位將復(fù)位除了備份區(qū)域外的所有寄存器。
(見圖中復(fù)位源將最終作用于RESET引腳,并在復(fù)位過程中保持低電平。復(fù)位入口矢量被固定在地址0x0000_0004。芯片內(nèi)部的復(fù)位信號會在NRST引腳上輸出,脈沖發(fā)生器保證每一個(外部或內(nèi)部)復(fù)位源都能有至少20μs的脈沖延時;當(dāng)NRST引腳被拉低產(chǎn)生外部復(fù)位時,它將產(chǎn)生復(fù)位脈沖。
三、備份域復(fù)位
備份區(qū)域擁有兩個專門的復(fù)位,它們只影響備份區(qū)域(見圖4)。
當(dāng)以下事件中之一發(fā)生時,產(chǎn)生備份區(qū)域復(fù)位。
軟件復(fù)位,備份區(qū)域復(fù)位可由設(shè)置備份域控制寄存器 (RCC_BDCR)(見6.3.9節(jié))中的BDRST位產(chǎn)生。
在VDD和VBAT兩者掉電的前提下,VDD或VBAT上電將引發(fā)備份區(qū)域復(fù)位。
四、復(fù)位的標(biāo)志位
五、復(fù)位標(biāo)志位檢索/判斷什么原因?qū)е碌膹?fù)位
標(biāo)志位判斷的代碼由官方庫中給定代碼如下:
FlagStatus RCC_GetFlagStatus(uint8_t RCC_FLAG);//FlagStatus 分為SET和RESET兩種;
/**
當(dāng)然判斷完后,我們需要將復(fù)位類型的標(biāo)志置位以防后期出現(xiàn)重復(fù)多次判斷void RCC_ClearFlag(void);//清除復(fù)位執(zhí)行函數(shù)
/**
在使用時,只需要執(zhí)行如下語句即可:
if(RCC_GetFlagStatus(RCC_FLAG_PORRST) != RESET)
當(dāng)然軟件復(fù)位的代碼如下:
六、STM32軟件復(fù)位方法
在Cortex-M3權(quán)威指南中有這么一句話這里有一個要注意的問題:從SYSRESETREQ 被置為有效,到復(fù)位發(fā)生器執(zhí)行復(fù)位命令,往往會有一個延時。在此延時期間,處理器仍然可以響應(yīng)中斷請求。但我們的本意往往是要讓此次執(zhí)行到此為止,不要再做任何其它事情了。所以,最好在發(fā)出復(fù)位請求前,先把FAULTMASK 置位。所以最好在將FAULTMASK 置位才萬無一失。
void mcuRestart(void)
責(zé)任編輯:彭菁
-
寄存器
+關(guān)注
關(guān)注
31文章
5421瀏覽量
123305 -
STM32
+關(guān)注
關(guān)注
2289文章
11011瀏覽量
362311 -
編程
+關(guān)注
關(guān)注
88文章
3679瀏覽量
94862
發(fā)布評論請先 登錄
FPGA中三種常用復(fù)位電路

ARQ方式的三種形式
三種類型的復(fù)位
STM32F103復(fù)位的作用及其復(fù)位形式
STM32的三種復(fù)位類型
STM32實現(xiàn)復(fù)位的三種常用方式問題
STM32的三種boot模式介紹
STM32的三種Boot模式及驗證資料分享
STM32的三種Boot模式的差異
STM32的三種Boot模式及驗證

STM32F103復(fù)位系統(tǒng)

評論