STM32F10xxx支持三種復位
STM32F10xxx支持三種復位形式,分別為系統(tǒng)復位、上電復位和備份區(qū)域復位。
一、系統(tǒng)復位
除了時鐘控制器的RCC_CSR寄存器中的復位標志位和備份區(qū)域中的寄存器(見圖4)以外,系統(tǒng)
復位將復位所有寄存器至它們的復位狀態(tài)。
當發(fā)生以下任一事件時,產(chǎn)生一個系統(tǒng)復位:
1. NRST引腳上的低電平(外部復位)
2. 窗口看門狗計數(shù)終止(WWDG復位)
3. 獨立看門狗計數(shù)終止(IWDG復位)
4. 軟件復位(SW復位)
5. 低功耗管理復位
可通過查看RCC_CSR控制狀態(tài)寄存器中的復位狀態(tài)標志位識別復位事件來源。
軟件復位
通過將Cortex?-M3中斷應(yīng)用和復位控制寄存器中的SYSRESETREQ位置’1’,可實現(xiàn)軟件復位。請參考Cortex?-M3技術(shù)參考手冊獲得進一步信息。
低功耗管理復位
在以下兩種情況下可產(chǎn)生低功耗管理復位:
1. 在進入待機模式時產(chǎn)生低功耗管理復位:
通過將用戶選擇字節(jié)中的nRST_STDBY位置’1’將使能該復位。這時,即使執(zhí)行了進入待機模式的過程,系統(tǒng)將被復位而不是進入待機模式。
2. 在進入停止模式時產(chǎn)生低功耗管理復位:
通過將用戶選擇字節(jié)中的nRST_STOP位置’1’將使能該復位。這時,即使執(zhí)行了進入停機模式的過程,系統(tǒng)將被復位而不是進入停機模式。
關(guān)于用戶選擇字節(jié)的進一步信息,請參考STM32F10xxx閃存編程手冊。
二、電源復位
當以下事件中之一發(fā)生時,產(chǎn)生電源復位:
1. 上電/掉電復位(POR/PDR復位)
2. 從待機模式中返回
電源復位將復位除了備份區(qū)域外的所有寄存器。(見圖1)
圖中復位源將最終作用于RESET引腳,并在復位過程中保持低電平。復位入口矢量被固定在地址0x0000_0004。更多細節(jié),參閱圖2:其它STM32F10xxx產(chǎn)品(小容量、中容量和大容量)的向量表。
芯片內(nèi)部的復位信號會在NRST引腳上輸出,脈沖發(fā)生器保證每一個(外部或內(nèi)部)復位源都能有至少20μs的脈沖延時;當NRST引腳被拉低產(chǎn)生外部復位時,它將產(chǎn)生復位脈沖。
復位電路
備份域復位
備份區(qū)域擁有兩個專門的復位,它們只影響備份區(qū)域(見圖1)。
當以下事件中之一發(fā)生時,產(chǎn)生備份區(qū)域復位。
1. 軟件復位,備份區(qū)域復位可由設(shè)置備份域控制寄存器(RCC_BDCR)中的BDRST位產(chǎn)生。
備份域控制寄存器(RCC_BDCR)
偏移地址:0x20
復位值:0x0000 0000,只能由備份域復位有效復位
訪問:0到3等待周期,字、半字和字節(jié)訪問
當連續(xù)對該寄存器進行訪問時,將插入等待狀態(tài)。
注意: 備份域控制寄存器中(RCC_BDCR)的LSEON、LSEBYP、RTCSEL和RTCEN位處于備份域。因此,這些位在復位后處于寫保護狀態(tài),只有在電源控制寄存(PWR_CR)中的DBP位置’1’后才能對這些位進行改動。進一步信息請參考5.1節(jié)。這些位只能由備份域復位清除(見6.1.3節(jié))。任何內(nèi)部或外部復位都不會影響這些位。
2. 在VDD和VBAT兩者掉電的前提下,VDD或VBAT上電將引發(fā)備份區(qū)域復位。
圖1
圖2





