窗口看门狗为什么会重复进中断 -凯发旗舰厅

cortex-m3/4(stm32)学习交流区

35个成员 7个话题 创建时间:2015-09-22

窗口看门狗为什么会重复进中断

发表于2017-05-31 2573次查看

主程序中调用以下函数对窗口看门狗进行初始化:

wwdg_init(3,0x5f,0x7f);   

以下为窗口初始化函数原型:

void wwdg_init(u8 pr,u8 w,u8 cnt)
{
    rcc->apb1enr |=0x01<<11;    //使能时钟
    wwdg->cfr =(pr&(0x03))<<7;  //设定分频
    wwdg->cfr |=0x7f;      // 设窗口为最大
    wwdg->cr  = cnt&(0x7f);      //设定计数初值
    wwdg->cr |=0x01<<7;      //开窗口看门狗
    wwdg->cfr &=~(0x7f);
    wwdg->cfr |=w &(0x7f);   //设定窗口值

        wwdg->sr=0;
    wwdg->cfr |=0x01<<9;
    nvic_setpriority(wwdg_irqn,nvic_encodepriority(7-2,1,1));
    nvic_enableirq(wwdg_irqn);
    
}

以下为中断服务函数:

void wwdg_irqhandler(void)
{
    wwdg->sr =0;
    wwdg->cr =0x7f; 
}

 

1回复
  • 2楼 yylxyd 2017-05-31

    如题

发表回复
你还没有登录,请先