• <label id="gmp5l"></label>

    <li id="gmp5l"></li>
      • 您好,歡迎訪問上海意泓電子科技有限責任公司網站!
        4新聞資訊
        您的位置: 首頁 ->  新聞資訊 -> 單片機

        ?STM32 關于復位類型的判斷及軟件復位

        文章出處:單片機 責任編輯:上海意泓電子科技有限責任公司 發(fā)表時間:
        2018
        05-19

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


        FlagStatus RCC_GetFlagStatus(u8 RCC_FLAG)來查看!

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


        上海意泓電子科技有限責任公司 版權所有 未經授權禁止復制或鏡像

        CopyRight 2020-2025 www.jlodreman.com All rights reserved   滬ICP備2021005866號

        亚洲人成影院在线观看,91综合永久在线观看,欧洲亚洲日韩国产AV一级,中文字幕在线视频播放
      • <label id="gmp5l"></label>

        <li id="gmp5l"></li>