在UCOS系统中独立看门狗的设置问题

2019-07-21 00:17发布

本帖最后由 zhangxiaolin 于 2019-6-6 12:52 编辑

在UCOS系统下,初始化独立看门狗ok后,在debug非全速运行模式下,看门狗为什么不会产生复位信号。这是第一个问题。debug模式下独立看门狗各个寄存器的值如下图所示: 截图未命名.jpg
硬件看门狗初始化相关代码如下:
void WatchDogInit(void)
{
        //最长1s
        RCC_LSICmd(ENABLE);
        while(RCC_GetFlagStatus( RCC_FLAG_LSIRDY)==RESET);
        
        /* Enable write access to IWDG_PR and IWDG_RLR registers */
        IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);
        
        /* IWDG counter clock: 40KHz(LSI) / 64 = 0.625 KHz */
          IWDG_SetPrescaler(IWDG_Prescaler_64);

         /* Set counter reload value to 624 (624+1)*1/0.625=1s,一个节拍1ms */    //
          IWDG_SetReload(624);

        /* Reload IWDG counter */
        IWDG_ReloadCounter();

        /* Enable IWDG (the LSI oscillator will be enabled by hardware) */
        IWDG_Enable();
};看门狗的设置是没问题的,因为在正常运行模式下,如果在某个被监视的线程不去喂狗,是会产生看门狗复位信号的
希望各位技术大佬能够指点一二。












友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。