如果喂狗一切都挺好,但是如果不喂狗,为什么没有出现-复位cpu,程序重新开始运行,而是整个ccs卡了
如果我运行的是c6748的程序的话,就是能重新开始的,好奇怪。是哪里有问题?程序如下:
/*
* main.c
*/
#include "C6747.h"
#include "C6747_gpio.h"
#include "stdio.h"
void TimerInit(void)
{
TIMER1_TGCR = 0x0000001B; // 启用新特性;64Bit看门狗模式;定时器12,34退出复位
TIMER1_TIM12 = 0;
TIMER1_TIM34 = 0; // 计数寄存器timer counter register0
TIMER1_PRD12 = 0x0fff; // 设定的周期值timer period register
TIMER1_PRD34 = 0;
TIMER1_WDTCR = (TIMER1_WDTCR & ( 0x0000ffff ) | ( 0xA5C60000 ));
TIMER1_WDTCR = (TIMER1_WDTCR & ( 0x0000ffff ) | ( 0xDA7E0000 ));
TIMER1_WDTCR = 0x0000C000; // 使能看门狗定时器
// 清除看门狗标识位
}
void TimerWatchReactivate(void)
{
TIMER1_WDTCR = (TIMER1_WDTCR & ( 0x0000ffff ) | ( 0xA5C60000 ));
TIMER1_WDTCR = (TIMER1_WDTCR & ( 0x0000ffff ) | ( 0xDA7E0000 ));
}
int main(void)
{
/*初始化C6747核*/
C6747_init();//此处仅初始化EMIFA,GPIO
GPIO_DIR23=0;//设置IO为输出
/*配置定时器*/
TimerInit();
printf("%d\n",1);
for(;;)
{
GPIO_OUT_DATA23 = 0x0800;
printf("%d\n",2);
TimerWatchReactivate();
}
}