亚洲综合色在线观看专区_国产91精品专区_欧洲美女人**一级毛片_国产精品太粉嫩高中网站_青青草原在线免费观看视频_超碰aⅴ亚洲中文字幕_精品一区欧美视频中文字幕_亚洲综合国产精品无码aⅴ导航_大地资源免费更新在线播放下载_免费高清毛片

南京芯科利電子科技有限公司

服務(wù)熱線:17749591789    

單片機

STM32F030 WWDG使用結(jié)論

分類:單片機 發(fā)布:2019-03-20 10:47:17 瀏覽:576次 Tag:

使用STM32F030的WWDG,發(fā)現(xiàn)其在STOP下面跟STM8S的休眠模式的情況一樣,不會對MCU進行復(fù)位.

貼上看門狗代碼:

/*************************************************************************************** 

**************************************************************************************** 

* FILE      : wdog_drv.c 

* Description   :  

*              

* Copyright (c) 2015 by LAN. All Rights Reserved. 

*  

* History: 

* Version       Name            Date            Description 

   0.1      藍曙光 2015/01/28  Initial Version 

    

**************************************************************************************** 

****************************************************************************************/  

  

#include "wdog_drv.h"  

  

#define WWDG_Prescaler_8                    ((uint32_t)0x00000180)  

#define CFR_WDGTB_MASK                      ((uint32_t)0xFFFFFE7F)  

#define RCC_APB1ENR_WWDGEN                  ((uint32_t)0x00000800)        /*!< Window Watchdog clock enable */  

  

/*================================================================== 

* Function  : Wdog_Init 

* Description   : 看門狗初始化 

* Input Para    :  

* Output Para   :  

* Return Value:  

==================================================================*/  

void Wdog_Init(void)  

{  

    Wdog_Start();  

    WWDG->CFR |= 0x7F;   //窗口看門狗的上窗口,窗口值必須在0x3F以上,但必須小于計數(shù)值小于0x7F  

  

    WWDG->CR = 0x7F; //看門狗計數(shù)值  

  

    Wdog_Feed(0);  

}  

  

  

  

/*================================================================== 

* Function  : Wdog_Start 

* Description   : 啟動開門狗 

* Input Para    :  

* Output Para   :  

* Return Value:  

==================================================================*/  

void Wdog_Start(void)  

{  

    RCC->APB1ENR |= RCC_APB1ENR_WWDGEN;  

    //設(shè)置分頻時鐘  

    WWDG->CFR = (WWDG->CFR & CFR_WDGTB_MASK) | WWDG_Prescaler_8;  

  

    WWDG->CR |= 0x80; //使能窗口看門狗   

}  

  

/*================================================================== 

* Function  : Wdog_SetReload 

* Description   : 重新設(shè)置頻率 

* Input Para    :  

* Output Para   :  

* Return Value:  

==================================================================*/  

void Wdog_SetReload(u8 uTime)  

{  

  

}  

  

/*================================================================== 

* Function  : Wdog_Feed 

* Description   : 喂狗 

* Input Para    :  

* Output Para   :  

* Return Value:  

==================================================================*/  

void    Wdog_Feed(u8 uTime)  

{  

     if ((WWDG->CR & 0x7F) < WWDG->CFR)//小于窗口值才能喂狗    

    {  

        WWDG->CR |= 0x7F;    //重新喂狗    

     }  

}  

  

  

  

/*================================================================== 

* Function  : Wdog_ResetChip 

* Description   : 復(fù)位芯片 

* Input Para    :  

* Output Para   :  

* Return Value:  

==================================================================*/  

void Wdog_ResetChip(void)  

{  

    while ((WWDG->CR & 0x7F) >= WWDG->CFR)  

    {//等待進入到喂狗窗口  

    }  

    WWDG->CR &= 0x40;    //喂最小復(fù)位  

    while(1);  


相關(guān)文章
QQ在線咨詢
銷售電話:
17749591789
17749591789
512383826
掃碼添加微信