首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

请教MC9S08GT60的看门狗喂狗语句

请教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”到底只什么意思?怎样才可以实现其喂狗功能?多谢~


  }


}

watchdog默认是打开的,上电复位以后不作任何操作COP是打开的。COPE位只能写一次。
喂狗就是给SRS寄存器随便一个值就可以了,
我知道watchdog是默认打开的,COPE 是write once,所以我对cope没有做任何设置,就用系统默认的状态,定时周期是2的18次方个busclk。
现在就是实现不了喂狗, 用SRS = 0X08(任何数据),根本没有实现对watchdog timer的清零。不知道问题出在哪里。用汇编语句。 sta SRS,或是 sta 0x1800(SRS的地址),都没有起到对watchdog timer 的清空,不知道问题出在哪里?
8好意思,问题解决了,实在是太粗心,不小心在程序里面有设置超过watchdog时间的delay,本来这个delay按照我的计算是远远小于timer period的,可能计算有问题。
返回列表