原创 学习六、S3C2410看门狗

2009-2-11 00:27 4037 9 9 分类: MCU/ 嵌入式

<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

 

S3C2410的看门狗


中断方式的16位定时器。


普通看门狗功能。


减计数溢出。


采用PCLK作为时钟


寄存器:


共有3个寄存器WTCON,WTDAT,WTCNT


WTCON 配置寄存器 0x53000000


<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" /> 点击看大图



WTDAT


点击看大图



WTCNT


 点击看大图


 



使用看门狗之前应初始化WTDAT,WTCNT.


看门一般使用流程如下:


1) 设置看门狗中断操作包括全局中断和看门狗中断的使能,和看门狗中断向量的定义,如果


只是进行复位操作,不需要复位操作,这一步可以不用设置。 


2) 对看门狗控制寄存器(WTCON)的设置,包括设置预分频比例因子、分频器的分频值、中


断使能和复位使能等。


3) 对看门狗数据寄存器(WTDAT)和看门狗计数寄存器(WTCNT)的设置。


4) 启动看门狗定时器。



 


注意:



1、在使用看门狗之前应该先初使化WTDAT,WTCNT,使能看门狗后WTDAT中的值将会自动装载到WTCNT中, 减计数.减至0时溢出.


2在用JLINK仿真时,看门狗的复位功能将无效,若在JLINK中使用,将会出错.解决方法是烧写到Flash,看实际运行效果.


3、看门狗计数周期的计数方法


t_watchdog  = 1/( PCLK / (Prescaler value + 1) / Division_factor )


Prescaler value为预分频, Division_factor为分频.(WTCON中设置)


:若预设Prescaler value="PCLK/1000000-1", Division_factor128.


t_watchdog=1/((PCLK/(PCLK/1000000-1+1)/128)


   t_watchdog=1/(1M/128)=128us


若现在设定时时间为1S,WTDAT初值应设为1S/128us=1M/128=7812


       所以初值WTDAT=7812;WTCNT=7812;


 

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
EE直播间
更多
我要评论
0
9
关闭 站长推荐上一条 /3 下一条