Board logo

标题: 求助看门狗复位问题 [打印本页]

作者: zheccn    时间: 2010-4-19 22:08     标题: 求助看门狗复位问题

我的程序里有一个延时子程序,延时时间大概10ms。问题是在主程序中调用这个延时子程序的时候总是引起看门狗复位。我的工程是用codewarrior生成的,我试图把里面的看门狗去掉,但是还是没用。哪位高手帮忙给解决一下呀。
作者: zheccn    时间: 2010-4-19 23:59

其实是个入门级的程序,就是小灯闪要用延时。主要是我用codewarrior新建工程时它就自带了看门狗的代码,如下:
; Watchdog feed macro
feed_watchdog: MACRO
         ;  STA SRS              ; feed the watchdog
          ENDM
,然后主程序里是这样:

main:
_Startup:
            LDHX   #__SEG_END_SSTACK ; initialize the stack pointer
            TXS
            CLI                     ; enable interrupts
mainLoop:
            ; Insert your code here
            NOP
            ......
            feed_watchdog
            BRA    mainLoop
,我把feed_watchdog去掉也没有用。每次执行到延时子程序时会提示说:COP Watchdog caused a RESET.然后程序就复位了。我的codewarrior版本是6.2版。
作者: strongchen    时间: 2010-4-20 09:28

feed_watchdog是喂狗指令,把它去掉当然没用,因为watchdog已经开启了,还在运行。如果要关闭watchdog,需要找到初始化函数中对相应寄存器进行设置的指令,将watchdog关闭。
作者: zheccn    时间: 2010-4-20 12:14

呵呵
知道了谢谢,只是还没找到哪里设置的那个寄存器。
作者: strongchen    时间: 2010-4-21 09:50

查看数据手册(Data Sheet)可以找到。
作者: zheccn    时间: 2010-4-21 15:54

谢谢了,我用的是aw60,正在找数据手册呢!
作者: strongchen    时间: 2010-4-22 09:35

飞思卡尔网站上可以下载。
作者: mcu2007    时间: 2010-4-22 09:47

你去datasheet里 找COPCTL这个寄存器了解下,应该差不多了
作者: zheccn    时间: 2010-4-25 20:35


找到了




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