学习STM32编程——独立看门狗实验

华26104121

关键代码:

iwdg.c

//初始化独立看门狗//prer:分频数:0~7(只有低3位有效!)//rlr:自动重装载值,0~0XFFF.//分频因子=4*2^prer.但最大值只能是256!//rlr:重装载寄存器值:低11位有效.//时间计算(大概):Tout=((4*2^prer)*rlr)/32 (ms).void IWDG_Init(u8 prer,u16 rlr){IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable); //使能对IWDG->PR IWDG->RLR的写IWDG_SetPrescaler(prer); //设置IWDG分频系数IWDG_SetReload(rlr);//设置IWDG装载值IWDG_ReloadCounter(); //reloadIWDG_Enable();//使能看门狗}//喂独立看门狗void IWDG_Feed(void){IWDG_ReloadCounter();//reload}

main.c

int main(void){ NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);//设置系统中断优先级分组2delay_init(168);//初始化延时函数LED_Init();//初始化LED端口KEY_Init();//初始化按键delay_ms(100);//延时100ms IWDG_Init(4,500); //与分频数为64,重载值为500,溢出时间为1sLED0=0;//先点亮红灯while(1){if(KEY_Scan(0)==WKUP_PRES)//如果WK_UP按下,则喂狗{IWDG_Feed();//喂狗}delay_ms(10);};}

版权声明:学习STM32编程——独立看门狗实验内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系 删除。本文链接:https://www.qi520.com/n/17781.html