久久人妻精品人妻视频五月天一区二区三区,,自慰午夜喷水久久久av国产成人a视频高在线,,欧美日韩免费专区在线97精品国产手机

  • <cite id="cwywg"></cite>
    <button id="cwywg"></button>
  • <button id="cwywg"><source id="cwywg"></source></button>
    <button id="cwywg"><tbody id="cwywg"></tbody></button>
  • <button id="cwywg"></button>
  • 
    
  • logo logo
    • BANNER
    • BANNER
    • BANNER
    您的位置 : 首頁(yè) > 新聞資訊 > 技術(shù)支持
    STM32 關(guān)于復(fù)位類(lèi)型的判斷及軟件復(fù)位
    發(fā)布者:江蘇瑞易通電子科技有限公司 人氣:788 發(fā)布日期:2021-04-23 10:10:40

    要想查看復(fù)位情況可以使用:
    //******************************************************************************
    // 函數(shù)名稱(chēng): RCC_GetFlagStatus
    // 功能描述: 檢查指定的RCC標(biāo)志設(shè)置與否.
    // 輸入?yún)?shù): RCC_FLAG:要檢查的標(biāo)志.
    //                    這個(gè)參數(shù)可以是下面的值之一:
    //                       - RCC_FLAG_HSIRDY: HIS振蕩時(shí)鐘就緒
    //                       - RCC_FLAG_HSERDY: HSE振蕩時(shí)鐘就緒
    //                       - RCC_FLAG_PLLRDY: PLL時(shí)鐘就緒
    //                       - RCC_FLAG_LSERDY: LSE振蕩時(shí)鐘就緒
    //                       - RCC_FLAG_LSIRDY: LSI振蕩時(shí)鐘就緒
    //                       - RCC_FLAG_PINRST: 引腳復(fù)位
    //                       - RCC_FLAG_PORRST: POR/PDR復(fù)位
    //                       - RCC_FLAG_SFTRST: 軟件復(fù)位
    //                       - RCC_FLAG_IWDGRST: 獨(dú)立看門(mén)狗復(fù)位
    //                       - RCC_FLAG_WWDGRST: 窗口看門(mén)狗復(fù)位
    //                      - RCC_FLAG_LPWRRST: 低電量復(fù)位
    // 輸出參數(shù): 無(wú)
    // 返回參數(shù): RCC_FLAG的新?tīng)顟B(tài)(SET或RESET).


    FlagStatus RCC_GetFlagStatus(u8 RCC_FLAG)來(lái)查看!

    而要想軟件產(chǎn)生一個(gè)復(fù)位如下:
    在官方軟件庫(kù)的stm32f10x_nvic.c 文件里 直接提供了 系統(tǒng)復(fù)位的函數(shù)
     
    //*******************************************************************************
    * 函數(shù)名稱(chēng): NVIC_GenerateSystemReset
    * 功能描述: 生成一個(gè)系統(tǒng)復(fù)位.
    * 輸入?yún)?shù): 無(wú)
    * 輸出參數(shù): 無(wú)
    * 返回參數(shù): 無(wú)
    *******************************************************************************/
    void NVIC_GenerateSystemReset(void)
    {
      SCB->AIRCR = AIRCR_VECTKEY_MASK | (u32)0x04;
    }
     
     
    在Cortex-M3權(quán)威指南中有一個(gè)要注意的問(wèn)題:從SYSRESETREQ 被置為有效,到復(fù)位發(fā)生器執(zhí)行復(fù)位命令,往往會(huì)有一個(gè)延時(shí)。在此延時(shí)期間,處理器仍然可以響應(yīng)中斷請(qǐng)求。但我們的本意往往是要讓此次執(zhí)行到此為止,不要再做任何其它事情了。所以,最好在發(fā)出復(fù)位請(qǐng)求前,先把FAULTMASK 置位。stm32f10x_nvic.c 文件里也直接提供了該函數(shù)
     
    /*******************************************************************************
    * 函數(shù)名稱(chēng): NVIC_SETFAULTMASK
    * 功能描述: 使能FAULTMASK優(yōu)先級(jí):把執(zhí)行的優(yōu)先級(jí)提升為-1.
    * 輸入?yún)?shù): 無(wú)
    * 輸出參數(shù): 無(wú)
    * 返回參數(shù): 無(wú)
    *******************************************************************************/
    void NVIC_SETFAULTMASK(void)
    {
      __SETFAULTMASK();
    }
     
    所以要系統(tǒng)復(fù)位 只要 調(diào)用這個(gè)函數(shù)就行了
    void SystemReset(void )
    {
      NVIC_SETFAULTMASK();
      NVIC_GenerateSystemReset();
    }


    返回新聞列表