S3C2410A WatchDog使用的一般步骤(SOP)

A.使用WDT作为常规定时器

-1.清SRCINT寄存器中的中断标志位;ClearPending(BIT_WDT);
-2.建立中断;pISR_WDT=(unsigned)watchdog_int;
+3.配置rWTCON,设定prescaler value和division factor,确定看门狗定时器的周期,暂不开启定时器和定时器中断;rWTCON=((PCLK/1000000-1)<<8)|(0x04)
 -//取prescaler=PLCK/1000000-1,分频器分频值为49,分频因子为64,分辨率为64us,关定时器,关复位
 -分辨率resolution的计算:t_watchdog  =[divisor*(Prescaler value + 1)]/PCLK, Interval=t_watchdog*rWTDAT  divisor为整数
 -分辨率为divisor us(微秒)
+4.配置rWTDAT和rWTCNT;watchdog timer启动时,rWTDAT的值不会自动载入rWTCNT中,所以必须给rWTCNT初始化一个值
 -The WTDAT register is used to specify the time-out duration.
-5.配置rWTCON,开启定时器和定时器中断;rWTCON|=(1<<5);此处没有使能复位功能
-6.清除watchdog中断屏蔽位; rINTMOD&=0xFFFFFDFF


B.使用WDT作为复位定时器

  在上述步骤的第5步中,写入rWTCON|=(1<<5)|(1)即可在预定时间内复位

 

说明:实际开发过程中我经过测试发现对rWTCON的配置可以一步完成,无需分两步配置。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值