昨晚回去测试烈火给的程序,发现函数库与datasheet有冲突的地方,见红色部分。不过两种情况都试过了,仍不能复位。继续求解
测试现象:复位后,灯都灭着,未重新执行程序
DrvGPIO_Open(E_GPA, 2, E_IO_OUTPUT); // 设置GPA2端口为输出模式
DrvGPIO_Open(E_GPA, 3, E_IO_OUTPUT); // 设置GPA3端口为输出模式
DrvGPIO_Open(E_GPA, 4, E_IO_OUTPUT); // 设置GPA4端口为输出模式
DrvGPIO_Open(E_GPA, 5, E_IO_OUTPUT); // 设置GPA5端口为输出模式
DrvSYS_Delay(500000);
//看门狗初始化
UNLOCKREG();
DrvSYS_SelectIPClockSource(E_SYS_WDT_CLKSRC, 0);
//DrvSYS_SelectIPClockSource(E_SYS_WDT_CLKSRC, 3); //内部10KHZ振动器
DrvWDT_Open (E_WDT_LEVEL7); //这个最好设置小些
DrvWDT_Ioctl (E_WDT_IOC_START_TIMER, 0);
DrvWDT_Ioctl (E_WDT_IOC_ENABLE_RESET_FUNC, 0);
LOCKREG();
while(1){
DrvGPIO_ClrBit(E_GPA, 2); // LED1点亮
DrvSYS_Delay(50000);
DrvGPIO_SetBit(E_GPA, 2);
DrvGPIO_ClrBit(E_GPA, 3); // LED2点亮
DrvSYS_Delay(50000);
DrvGPIO_SetBit(E_GPA, 3);
DrvGPIO_ClrBit(E_GPA, 4); // LED3点亮
DrvSYS_Delay(50000);
DrvGPIO_SetBit(E_GPA, 4);
DrvGPIO_ClrBit(E_GPA, 5); // LED4点亮
DrvSYS_Delay(50000);
DrvGPIO_SetBit(E_GPA, 5);
} |