完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
看门狗这个东西我觉得好好玩啊。
狗狗帮忙看家护院(监测程序),还要定时投喂。 // 你要是真信了就太天真了( ̄_, ̄ ) 其实这只狗一点都不会看家护院,反而还挺会捣乱还特能吃。你,也就是主人每隔一端时间就要给他加饭,不然他吃完了就会给你捣蛋。 这样想的话,狗狗不捣蛋说明有人给他加饭,说明你还活着,很正常。万一主人不正常了(你懂的,狗就饿着了,就捣蛋(RESET)了。 基本概念: 在由单片机构成的微型计算机系统中,由于单片机的工作常常会受到来自外界电磁场的干扰,造成程序的跑飞,而陷入死循环,程序的正常运行被打断,由单片机控制的系统无法继续工作,会造成整个系统的陷入停滞状态,发生不可预料的后果,所以出于对单片机运行状态进行实时监测的考虑,便产生了一种专门用于监测单片机程序运行状态的模块或者芯片,俗称“看门狗”(watchdog) 。(以上资料来源于百度百科) 实际上人话就是当“狗狗”监测到程序运行异常的时候就会复位。 // 其实并不是这样的 独立看门狗采用低速内部时钟源。 寄存器 主要有四个: 键值寄存器IWDG_KR: 0~15位有效 预分频寄存器IWDG_PR:0~2位有效。具有写保护功能,要操作先取消写保护 重装载寄存器IWDG_RLR:0~11位有效。具有写保护功能,要操作先取消写保护。 状态寄存器IWDG_SR:0~1位有效 在键值寄存器(IWDG_KR)中写入0xCCCC,开始启用独立看门狗。此时计数器开始从其复位值0xFFF递减,当计数器值计数到尾值0x000时会产生一个复位信号(IWDG_RESET)。 无论何时,只要在键值寄存器IWDG_KR中写入0xAAAA(通常说的喂狗), 自动重装载寄存器IWDG_RLR的值就会重新加载到计数器,从而避免看门狗复位。 ==注:==第一次喂狗,狗盆里是满的(从0XFFF)倒计时,你一旦喂过一次,就是你设置的量开始倒计时。 时间如下: 常用库函数 void IWDG_WriteAccessCmd(uint16_t IWDG_WriteAccess);//取消写保护:0x5555使能 void IWDG_SetPrescaler(uint8_t IWDG_Prescaler);//设置预分频系数:写PR void IWDG_SetReload(uint16_t Reload);//设置重装载值:写RLR void IWDG_ReloadCounter(void);//喂狗:写0xAAAA到KR void IWDG_Enable(void);//使能看门狗:写0xCCCC到KR FlagStatus IWDG_GetFlagStatus(uint16_t IWDG_FLAG);//状态:重装载/预分频 更新 操作步骤 取消写保护 IWDG_WriteAccessCmd(IWDG_WriteAccess_Enable); 设置预分频系数和重装载值 IWDG_SetPrescaler(IWDG_Prescaler_64); IWDG_SetReload(0xFFF); 你可以打开写保护,然后使能即可 //2月1日补充,喂狗会自动打开写保护,所以不需要手动打开 IWDG_WriteAccessCmd(IWDG_WriteAccess_Disable); IWDG_Enable(); 但是第一次倒计时是从0xFFF开始,所以你可以在使能前喂一次狗,就是重预设值倒计时了。 |
|
|
|
只有小组成员才能发言,加入小组>>
3311 浏览 9 评论
2994 浏览 16 评论
3493 浏览 1 评论
9058 浏览 16 评论
4087 浏览 18 评论
1178浏览 3评论
605浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
599浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2335浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1896浏览 2评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-23 02:05 , Processed in 2.413999 second(s), Total 80, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号