stm32學(xué)習(xí)之復(fù)位和時(shí)鐘
1、復(fù)位
STM32F支持三種復(fù)位形式,分別為系統(tǒng)復(fù)位、電源復(fù)位和備份區(qū)域復(fù)位。
1.1 系統(tǒng)復(fù)位
當(dāng)以下事件中的一件發(fā)生時(shí),產(chǎn)生一個(gè)系統(tǒng)復(fù)位:
1. NRST管腳上的低電平(外部復(fù)位)
2. 窗口看門狗計(jì)數(shù)終止( WWDG復(fù)位)
3. 獨(dú)立看門狗計(jì)數(shù)終止( IWDG復(fù)位)
4. 軟件復(fù)位( SW復(fù)位)(將Cortex-M3中斷應(yīng)用和復(fù)位控制寄存器中的SYSRESETREQ位置1, 可實(shí)現(xiàn)軟件復(fù)位。)
5. 低功耗管理復(fù)位
可通過查看RCC_CSR控制狀態(tài)寄存器中的復(fù)位狀態(tài)標(biāo)志位來確認(rèn)復(fù)位事件來源。
1.2 電源復(fù)位(電源復(fù)位將復(fù)位除了備份區(qū)域外的所有寄存器,地址0x0000_0000~0x0000_0004)
1. 上電/掉電復(fù)位( POR/PDR復(fù)位)
2. 從待機(jī)模式中返回
1.3 備份區(qū)域復(fù)位
1. 軟件復(fù)位,備份區(qū)域復(fù)位可由設(shè)置備份區(qū)域控制寄存器RCC_BDCR中的BDRST位產(chǎn)生。
2. 在VDD和VBAT兩者掉電的前提下, VDD或VBAT上電將引發(fā)備份區(qū)域復(fù)位。
2、時(shí)鐘
三種不同的時(shí)鐘源可被用來驅(qū)動(dòng)系統(tǒng)時(shí)鐘(SYSCLK):(HSE 時(shí)鐘、HSI 時(shí)鐘、PLL、LSE 時(shí)鐘、LSI 時(shí)鐘、系統(tǒng)時(shí)鐘(SYSCLK,上電初期為HSI時(shí)鐘,當(dāng)HSE時(shí)鐘準(zhǔn)備就緒HSI才關(guān)閉)、時(shí)鐘安全系統(tǒng)(CSS)、RTC 時(shí)鐘、看門狗時(shí)鐘)
1 HSI 振蕩器時(shí)鐘
2 HSE 振蕩器時(shí)鐘
3 PLL 時(shí)鐘
這些設(shè)備有以下2種二級(jí)時(shí)鐘源:
1 32kHz 低速內(nèi)部 RC,可以用于驅(qū)動(dòng)獨(dú)立看門狗和 RTC。 RTC 用于從停機(jī)/待機(jī)模式下自動(dòng)喚醒系統(tǒng)。
2 32.768kHz 低速外部晶體也可用來驅(qū)動(dòng) RTC(RTCCLK)。
特別:時(shí)鐘安全系統(tǒng)(CSS),一旦CSS被激活,并且HSE時(shí)鐘出現(xiàn)故障, CSS中斷就產(chǎn)生,并且NMI也自動(dòng)產(chǎn)生。