|
(1)现在我要给我的程序加一个看门狗功能,但是在测试看门狗的过程中,看门狗不能正常复位。
(2)测试时,软件用的就是官方的看门狗例程;硬件用的是FRDM-KE02Z开发板。
有没有哪位朋友遇到过相关问题,花点时间帮兄弟看一下。
以下是调试时使用的主函数的代码,代码基本是官方的看门狗例程,仅是屏蔽了看门狗的喂狗指令。上电后,蓝色的LED开始闪烁,可见程序并未复位。
int main (void)
{
WDOG_ConfigType sWDOGConfig = {0}; /*! < watchdog configuration structure */
/* Perform processor initialization */
sysinit();
sWDOGConfig.sBits.bWaitEnable = TRUE;
sWDOGConfig.sBits.bStopEnable = TRUE;
sWDOGConfig.sBits.bDbgEnable = TRUE;
sWDOGConfig.sBits.bUpdateEnable = FALSE;
sWDOGConfig.sBits.bDisable = FALSE; /* enable WDOG */
sWDOGConfig.sBits.bClkSrc = WDOG_CLK_INTERNAL_1KHZ;
sWDOGConfig.u16TimeOut = 1000; /*< 1s */
sWDOGConfig.u16WinTime = 0;
WDOG_Init(&sWDOGConfig);
printf("\nRunning the wdog_feed_demo project.\n");
if(WDOG_IsReset()) /*!< check if wathdog reset happens */
{
/*! watchdog happens. */
LED0_Init(); /*!< initialize red light */
while(1)
{
LED0_Toggle(); /*!< flash red light if watchdog reset occurs */
WDOG_Feed();
DelayUS(50000); /*!< delay around 50ms */
}
}
/*! watchdog does not happens, then flash blue led. */
LED2_Init(); /*!< initialize blue light */
while(1)
{
LED2_Toggle(); /*!< flash blue light if no watchdog reset occurs */
//WDOG_Feed();
DelayUS(50000); /*!< delay around 50ms */
}
} |
阿莫论坛20周年了!感谢大家的支持与爱护!!
如果天空是黑暗的,那就摸黑生存;
如果发出声音是危险的,那就保持沉默;
如果自觉无力发光,那就蜷伏于牆角。
但是,不要习惯了黑暗就为黑暗辩护;
也不要为自己的苟且而得意;
不要嘲讽那些比自己更勇敢的人。
我们可以卑微如尘土,但不可扭曲如蛆虫。
|