请教各位高手,我们加入了看门狗,但是发现停止喂狗之后,程序不能正常复位。
我写的实验程序代码如下,把喂狗语句去掉之后,A口的灯闪烁2次便熄灭了,而不能reset之后再继续闪烁。
请问是不是 需要用户自己在COP中断中引导程序从startup开始执行?
请问具体是怎么实现的?能不能把关键的程序贴上来看看?
#include <hidef.h> /* common defines and macros */
#include <mc9s12dt256.h> /* derivative information */
#pragma LINK_INFO DERIVATIVE "mc9s12dt256b"
uint i,j;
void delay(uint x)
{
uint a,b;
for(a=x;a>0;a--)
for(b=2666;b>0;b--);
}
void main(void) {
/* put your own code here */
COPCTL=0X06;//喂狗周期500MS
DDRA=0XFF;
for(;;)
{
j++;
PORTA=0X00;
delay(200);
// ARMCOP=0x55;
// ARMCOP=0xAA;
PORTA=0Xff;
delay(200);
} /* wait forever */
/* please make sure that you never leave this function */
}
[此贴子已经被作者于2009-5-8 13:33:12编辑过]
在PRM文件里添加如下的代码就可以正常复位了。
VECTOR ADDRESS 0xFFFA _Startup//COP_ISR
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |