S3C2440看门狗定时器(推荐)

S3C2440看门狗定时器(推荐)

ID:40571962

大小:56.87 KB

页数:5页

时间:2019-08-04

S3C2440看门狗定时器(推荐)_第1页
S3C2440看门狗定时器(推荐)_第2页
S3C2440看门狗定时器(推荐)_第3页
S3C2440看门狗定时器(推荐)_第4页
S3C2440看门狗定时器(推荐)_第5页
资源描述:

《S3C2440看门狗定时器(推荐)》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、看门狗定时器的主要作用当程序因为干扰而跑飞后,能够使系统复位。从而防止系统跑飞,提高系统稳定性。先来说说看门狗的工作原理:设本系统程序完整运行一周期的时间是Tp,看门狗的定时周期为Ti,Ti>Tp,在程序正常运行时,定时器就不会溢出,若由于干扰等原因使系统不能在Tp时刻修改定时器的记数值,定时器将在Ti时刻溢出,引发系统复位,使系统得以重新运行,从而起到监控的作用。看门狗设计步骤:1,设置看门狗中断操作,包括全局中断操作和看门狗中断的使能,看门狗中断向量的定义。[html]viewplaincopypri

2、nt?1.#definerINTMSK(*(volatileunsigned*)0x4a000008)//Interruptmaskcontrol2.#definerINTSUBMSK(*(volatileunsigned*)0x4a00001c)//Interruptsubmask#definerINTMSK(*(volatileunsigned*)0x4a000008)//Interruptmaskcontrol#definerINTSUBMSK(*(volatileunsigned*)0x4a000

3、01c)//Interruptsubmask[html]viewplaincopyprint?1.//开中断2.rINTMSK&=~(BIT_WDT_AC97);3.rINTSUBMSK&=~(BIT_SUB_WDT);//开中断rINTMSK&=~(BIT_WDT_AC97);rINTSUBMSK&=~(BIT_SUB_WDT);2,对看门狗控制寄存器WTCON设置,包括设置预分频比例因子,分频器的分频值,中断使能,复位使能。WTCON相关位的作用可从下图看出:其中t_watchdog的计算方法为:如预

4、分频值=100;时钟除数因子=128;PCLK=67.5MHz,则定时器时钟周期t_watchdog=1/[PCLK/(预分频值+1)/时钟除数因子]=1/[67.5*1000000/(100+1)/128]=0.0002预分频值,时钟除数因子的范围如下:[html]viewplaincopyprint?1.rWTCON=((100<<8)

5、(3<<3));//预分频值=100;时钟除数因子=128;rWTCON=((100<<8)

6、(3<<3));//预分频值=100;时钟除数因子=128;[ht

7、ml]viewplaincopyprint?1.rWTCON

8、=(1<<0);//允许复位rWTCON

9、=(1<<0);//允许复位3,启动看门狗。[html]viewplaincopyprint?1.rWTCON

10、=((1<<5)

11、(1<<2));//允许看门狗定时器和允许中断产生rWTCON

12、=((1<<5)

13、(1<<2));//允许看门狗定时器和允许中断产生4,喂狗,即对WTDAT看门狗数据寄存器和WTCNT看门狗计数寄存器的设置。这要在在中断发生前,重新对看门狗定时器的寄存器进行赋值,使它的定时器

14、重新开始计时。而不至于引起系统复位。[html]viewplaincopyprint?1.rWTDAT=20000;//WTDAT看门狗数据寄存器,看门狗定时器重载的计数值2.rWTCNT=20000;//WTCNT看门狗计数寄存器,看门狗定时器当前计数值3.//看门狗时钟中断周期T=WTCNT*t_watchdog=4SrWTDAT=20000;//WTDAT看门狗数据寄存器,看门狗定时器重载的计数值rWTCNT=20000;//WTCNT看门狗计数寄存器,看门狗定时器当前计数值//看门狗时钟中断周期T

15、=WTCNT*t_watchdog=4Swatchdog.c实现看门狗功能,防止程序跑飞:[html]viewplaincopyprint?1.//*********************************************2.//看门狗定时器函数3.voidwatchdog_timer(void)4.{5.//清WatchDog中断寄存器6.rSRCPND

16、=BIT_WDT_AC97;7.rINTPND

17、=BIT_WDT_AC97;8.rSUBSRCPND

18、=BIT_SUB_WDT;9.1

19、0.//建立WatchDog中断11.pISR_WDT_AC97=(unsigned)Watchdog_ISR;12.13.14.rWTCON=((100<<8)

20、(3<<3));//预分频值=100;时钟除数因子=128;15.//PCLK=67.5MHz,不允许中断16.//每个定时器时钟周期t_watchdog=1/[PCLK/(预分频值+1)/时钟除数因子]17.//=1/[67.5*1000000/(100+1)/

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。