TI中文支持网
TI专业的中文技术问题搜集分享网站

关于2640看门狗api调用问题

在官方echoUart工程中 测试看门狗功能:

看门狗超时时间设置成3秒,  app任务whlie循环 使用cpu_delay()进行500ms延时:

对Watchdog_clear() 和 Watchdog_close() 做测试,执行代码:

测试 Watchdog_close:

/* Loop forever echoing */while (1) {generalApp_delayMs(500);
//Task_sleep(1000000/10);//UART_read(uart, &input, 1);input++;if(input == 2){//第1秒时进行喂狗,喂狗有效Watchdog_clear(watchdog);}else if(input == 4){//第2秒时进行喂狗,喂狗有效Watchdog_clear(watchdog);}else if(input == 6){//第3秒时 停止定时器,Watchdog_close(watchdog); //停止看门狗,该语句执行失败}else if(input == 12){ //未执行到该语句,看门狗在idx =10 (第5秒)时,超时重启Watchdog_clear(watchdog);}PIN_setOutputValue(ledPinHandle, Board_LED1, input%2);UART_write(uart, &input, 1);}

Watchdog_close() 看api介绍是 停止看门狗计数,上述代码中 调用该api后,看门狗依然在运行生效?
上述代码调用是否正确 或 我这边理解有误?



---------------------------------------------------------------------------------------------------------------------------
测试 Watchdog_close:

 /* Loop forever echoing */while (1) {
//generalApp_delayMs(500);Task_sleep(1000000/10);//调用该api进行延时,不进行喂狗操作//UART_read(uart, &input, 1);input++;
//if(input == 2){
//Watchdog_clear(watchdog);  
//}else if(input == 4){
//Watchdog_clear(watchdog);
//}else if(input == 6){
//Watchdog_close(watchdog); //停止看门狗(该语句执行后,查看看门狗定时器)
//}else if(input == 12){ //看门狗在idx =10时,超时重启
//Watchdog_clear(watchdog);
//}PIN_setOutputValue(ledPinHandle, Board_LED1, input%2);UART_write(uart, &input, 1);}


使用generalApp_delayMs()即,CPUdelay()延时 且 不进行喂狗操作,看门狗能够对设备进行重启

使用Task_sleep()让任务进入阻塞态 且 不进行喂狗操作,看门狗没有按预期进行重启设备? 这是什么情况?

3Q。






guozi zhou52:

排版异常 = =!

在官方echoUart工程中 测试看门狗功能:看门狗超时时间设置成3秒,  app任务whlie循环 使用cpu_delay()进行500ms延时:对Watchdog_clear() 和 Watchdog_close() 做测试,执行代码:测试 Watchdog_close:/* Loop forever echoing */    while (1) {        generalApp_delayMs(500);//        Task_sleep(1000000/10);        //UART_read(uart, &input, 1);        input++;                if(input == 2){//第1秒时进行喂狗,喂狗有效          Watchdog_clear(watchdog);          }else if(input == 4){//第2秒时进行喂狗,喂狗有效          Watchdog_clear(watchdog);        }else if(input == 6){//第3秒时 停止定时器,          Watchdog_close(watchdog); //停止看门狗,该语句执行失败        }else if(input == 12){ //未执行到该语句,看门狗在idx =10 (第5秒)时,超时重启          Watchdog_clear(watchdog);        }                PIN_setOutputValue(ledPinHandle, Board_LED1, input%2);        UART_write(uart, &input, 1);    }Watchdog_close() 看api介绍是 停止看门狗计数,上述代码中 调用该api后,看门狗依然在运行生效?上述代码调用是否正确  或 我这边理解有误?—————————————————————————————————————————测试 Watchdog_close: /* Loop forever echoing */    while (1) {//        generalApp_delayMs(500);        Task_sleep(1000000/10);//调用该api进行延时,不进行喂狗操作        //UART_read(uart, &input, 1);        input++;        //        if(input == 2){//          Watchdog_clear(watchdog);  //        }else if(input == 4){//          Watchdog_clear(watchdog);//        }else if(input == 6){//          Watchdog_close(watchdog); //停止看门狗(该语句执行后,查看看门狗定时器)//        }else if(input == 12){ //看门狗在idx =10时,超时重启//          Watchdog_clear(watchdog);//        }                PIN_setOutputValue(ledPinHandle, Board_LED1, input%2);        UART_write(uart, &input, 1);    }使用generalApp_delayMs()即,CPUdelay()延时 且 不进行喂狗操作,看门狗能够对设备进行重启使用Task_sleep()让任务进入阻塞态 且 不进行喂狗操作,看门狗没有按预期进行重启设备? 这是什么情况?3Q。

guozi zhou52:

回复 guozi zhou52:

目前 在 ti 的 PinStandby 工程 和  zstack工程中 添加开门狗,不进行喂狗动作,看门狗没有生效;

设备休眠再唤醒后看门狗 是否需要手动启动?

赞(0)
未经允许不得转载:TI中文支持网 » 关于2640看门狗api调用问题
分享到: 更多 (0)