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

求助看门狗复位问题

求助看门狗复位问题

我的程序里有一个延时子程序,延时时间大概10ms。问题是在主程序中调用这个延时子程序的时候总是引起看门狗复位。我的工程是用codewarrior生成的,我试图把里面的看门狗去掉,但是还是没用。哪位高手帮忙给解决一下呀。
其实是个入门级的程序,就是小灯闪要用延时。主要是我用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版。
feed_watchdog是喂狗指令,把它去掉当然没用,因为watchdog已经开启了,还在运行。如果要关闭watchdog,需要找到初始化函数中对相应寄存器进行设置的指令,将watchdog关闭。
海纳百川  有容乃大
呵呵
知道了谢谢,只是还没找到哪里设置的那个寄存器。
查看数据手册(Data Sheet)可以找到。
海纳百川  有容乃大
谢谢了,我用的是aw60,正在找数据手册呢!
飞思卡尔网站上可以下载。
海纳百川  有容乃大
你去datasheet里 找COPCTL这个寄存器了解下,应该差不多了

找到了
返回列表