第二部分:S5PV210_关看门狗_1

1.关看门狗

(1)什么是看门狗?

  看门狗就好像你家门口的一条狗,我们必须在规定的时间内去喂狗,如果经过了规定的时间,你还不去喂狗的话,它就会咬死你。

  看门狗本质上是一个定时器,首先,你给看门狗设置好一段时间,然后看门狗就开始计时,CPU必须在这段时间过去之前重置看门狗内的时间,好让他重新计时,如果cpu不去重置看门狗内的时间的话,看门狗就会重启整个系统或者产生一个中断,当我们系统正常运行的时候,我们当然不希望重启系统啦,所以,我们就要喂狗(重置它里面的值)。

(2)看门狗的作用:监督,维护好系统,看系统是否正常运转。

  在一些比较恶劣的环境的情况下,当我们的系统坏的时候,我们没有办法人工重启的时候,看门狗就可以帮助我们重启系统。因为,系统坏了,CPU就不会去喂狗,不喂狗,看门狗到了那个时间后,就会触发重启,系统就自动重启了。

(3)为什么要关看门狗?

  因为现在我们人工用着这机器,当然不需要看门狗了,因为,系统崩溃了,我们会自己重启它,所以,我们现在需要关闭看门狗的功能。

(4)看门狗相关的寄存器

WTCON:看门狗主要功能的设置,如开/关看门狗,使能中断,使能重启,设置时钟分频多少等等。

WTDAT:看门狗重载的计数值

WTCNT:看门狗当前的计数值,看门狗计时时的当前值。

WTCLRINT:清中断,写1进去就清除中断

  WTDAT寄存器和WTCNT寄存器的关系:看门狗刚开始启动的时候,WTDAT的值是不会自动重载到WTCNT的这里WTDAT的值自动重载进WTCNT内是仅发生在中断的情况下的,发生完中断后,WTDAT的值就会自动重载进WTCNT内,然后WTCNT开始自动减1,开始下一次计时。不会发生在重启的原因是:重启的时候,断电,一切寄存器内的值都不存在了,并且重启的时候也不需要自动重载,因为它又经过了一次初始化,用初始化的值就可以了。),因此,在启动看门狗之前,我们必须写一个初始值给WTCNT寄存器。

(5)看门狗时钟分频的介绍

  来源是PCLK(66MHz),经过一个预分频器,再经过一个MUX开关,就得到了看门狗的时钟频率了。

计算公式:

以下面代码为例:t_watchdog = 1/(66M/(65+1))/128) = 128us

(6)写相关寄存器的代码示例

 1 void wdt_init_interrupt(void)
 2 {
 3     //首先,我们就设置预分频器(8~15),先清零,然后再设置值为66,因为时钟源是PCLK(66MHz)得到1MHz
 4     rWTCON &= ~(0xff<<8);
 5     rWTCON |= (65<<8);
 6     
 7     //然后设置分频器(3~4),先清零,然后设置值为128,得到周期是128us
 8     rWTCON &= ~(0x3<<3);
 9     rWTCON |= (0x3<<3);
10     
11     //然后就选择中断模式了(2),关闭复位模式(0)
12     rWTCON |= (1<<2);
13     rWTCON &= ~(1<<0);
14     
15     //设置计数值了,就设置为1.28s
16     rWTDAT = 10000;                
17     rWTCNT = 10000;
18     
19     //最后,都设置好了,就开启看门狗定时器了(5)
20     rWTCON |= (1<<5);
21 }
22   rWTCLRINT = 1;                    //清中断,这里是设置任意数就可以清零了

还有喂狗的操作是写WTCNT寄存器的:

void feed_dog(void)
{
    rWTCNT= 10000;
}

参考来源:朱老师物联网大教程

转载于:https://www.cnblogs.com/nibuyaoni/p/5716959.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值