Chinaunix首页 | 论坛 | 博客
  • 博客访问: 11682
  • 博文数量: 6
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 60
  • 用 户 组: 普通用户
  • 注册时间: 2021-04-15 16:58
文章分类

全部博文(6)

文章存档

2021年(6)

我的朋友
最近访客

分类: 嵌入式

2021-04-20 10:49:02

转载于:

       //独立看门狗初始化配置(具体可参考原文)

voidIWDG_Configuraon(void)

{

//写入0x5555,用于允许狗狗寄存器写入功能

IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable);

//狗狗时钟分频,40K/256=156HZ(6.4ms)T = 1/f

IWDG_SetPrescaler(IWDG_Prescaler_256);

//喂狗时间5s/6.4MS=781。注意不能大于0xfff

IWDG_SetReload(781);

//喂狗

IWDG_ReloadCounter();

//使能狗狗

IWDG_Enable();

}

    //窗口看门狗初始化配置(具体可参考原文)

voidWWDG_Configuraon(void)

{

//窗口看门狗时钟允许

RCC_APB1PeriphClockCmd(RCC_APB1Periph_WWDG,ENABLE);

//看门狗节拍=(36M/4096)/8=1098Hz就是说一秒钟计数器减1098下

WWDG_SetPrescaler(WWDG_Prescaler_8);

//窗口值用0x42就是说计数器满是0x7f在减到0x42之前喂狗了就算喂早了-复位

WWDG_SetWindowValue(0x42);

//看门狗使能并初始化定时器为0x7f最大就是0x7f计数器减到到0x3F(T6位清零)时,则产生一个复位

WWDG_Enable(0x7F);

//ClearEWIflag清中断标记

WWDG_ClearFlag();

//使能EWinterrupt这个会在计数器减到0x40的时候产生一个“死前”中断当然你也可以在这个中断里赶紧

//喂狗-省的狗咬你(复位)

WWDG_EnableIT();

}

阅读(1724) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:c# 在线程中操作窗体控件

给主人留下些什么吧!~~