Board logo

标题: 请教MC9S08GT60的看门狗喂狗语句 [打印本页]

作者: wxixi007    时间: 2006-7-26 18:45     标题: 请教MC9S08GT60的看门狗喂狗语句

 


  main()


{


   mcu_init(); //包含打开wdt语句


  while(1)


  {


     SRS = 0X00;//或asm sta SRS和 asm sta $1800 根据datasheet上讲述,写任意数值到SRS寄存器所在单元均可以Clear watchdog timer.可测试发现按照上述两种方法不行,喂狗均没有成功,导致系统反复reset。请教 datasheet中提到的“writing any value to the srs register address clears the cop watchdog timer”中说说的“register address”到底只什么意思?怎样才可以实现其喂狗功能?多谢~


  }


}


作者: seuafu2005    时间: 2006-7-27 09:53

watchdog默认是打开的,上电复位以后不作任何操作COP是打开的。COPE位只能写一次。
喂狗就是给SRS寄存器随便一个值就可以了,
作者: wxixi007    时间: 2006-7-27 16:22

我知道watchdog是默认打开的,COPE 是write once,所以我对cope没有做任何设置,就用系统默认的状态,定时周期是2的18次方个busclk。
现在就是实现不了喂狗, 用SRS = 0X08(任何数据),根本没有实现对watchdog timer的清零。不知道问题出在哪里。用汇编语句。 sta SRS,或是 sta 0x1800(SRS的地址),都没有起到对watchdog timer 的清空,不知道问题出在哪里?
作者: wxixi007    时间: 2006-7-27 16:45

8好意思,问题解决了,实在是太粗心,不小心在程序里面有设置超过watchdog时间的delay,本来这个delay按照我的计算是远远小于timer period的,可能计算有问题。




欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) Powered by Discuz! 7.0.0