<dl id="xausj"></dl>
    1. <ul id="xausj"><th id="xausj"></th></ul>

      <b id="xausj"></b>
      <cite id="xausj"></cite>
      <b id="xausj"><meter id="xausj"></meter></b>
      <dl id="xausj"><noframes id="xausj"></noframes></dl>
    2. 您好,歡迎訪問(wèn)上海意泓電子科技有限責(zé)任公司網(wǎng)站!
      4新聞資訊
      您的位置: 首頁(yè) ->  新聞資訊 -> 單片機(jī)

      ?STM32 關(guān)于復(fù)位類型的判斷及軟件復(fù)位

      文章出處:?jiǎn)纹瑱C(jī) 責(zé)任編輯:上海意泓電子科技有限責(zé)任公司 發(fā)表時(shí)間:
      2018
      05-19

      要想查看復(fù)位情況可以使用:
      //******************************************************************************
      // 函數(shù)名稱: 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ú)立看門狗復(fù)位
      //                       - RCC_FLAG_WWDGRST: 窗口看門狗復(fù)位
      //                      - RCC_FLAG_LPWRRST: 低電量復(fù)位
      // 輸出參數(shù): 無(wú)
      // 返回參數(shù): RCC_FLAG的新狀態(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ù)名稱: 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ù)名稱: 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();
      }


      上海意泓電子科技有限責(zé)任公司 版權(quán)所有 未經(jīng)授權(quán)禁止復(fù)制或鏡像

      CopyRight 2020-2025 www.pendragonrpg.com All rights reserved   滬ICP備2021005866號(hào)

      国产中文欧美日韩,色播在线永久免费视频,另类专区亚洲无码,亚洲中文字无码av

      <dl id="xausj"></dl>
      1. <ul id="xausj"><th id="xausj"></th></ul>

        <b id="xausj"></b>
        <cite id="xausj"></cite>
        <b id="xausj"><meter id="xausj"></meter></b>
        <dl id="xausj"><noframes id="xausj"></noframes></dl>