微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI无线射频设计 > cc1310 watchdog问题

cc1310 watchdog问题

时间:12-23 整理:3721RD 点击:

在程序中创建一个看门狗之后,但是一直没有喂狗,有以下问题

测试一:.程序下载之后,第一次未喂狗复位之后,LED1一直亮,LED2一直一亮一灭 ,reset之后还是这个结果。(而不是在800ms之后复位,然后LED1和LED2暗一会,然后LED1再亮和LED2闪烁,一直这样循环的结果。)  

测试二:将Task_sleep(25000);删除之后,800ms之后复位,LED1和LED2暗一会,然后LED1再亮和LED2闪烁,一直这样循环。

问题:

1:看门狗为什么在测试1中没有工作,而在测试2中工作

2;Watchdog_close() 是不被支持的,看门狗如何关闭

int main(void)
{
/* Configure task */
Task_Params TaskParams;
Task_Params_init(&TaskParams);
TaskParams.stackSize = TASK_STACK_SIZE;

TaskParams.stack = TaskStack2;
TaskParams.priority = 2;
TaskParams.stackSize = sizeof(TaskStack2);
Task_construct(&RfTaskStruct, taskFxn, &TaskParams, NULL);

/* Configure Watchdog */
Watchdog_init();
Watchdog_Params Watchdogparams;
Watchdog_Params_init(&Watchdogparams);
watchdogHandle = Watchdog_open(0, &Watchdogparams);
Watchdog_setReload(watchdogHandle, 800000);
GPIO_writeDio(Board_DK_LED1, 1);
BIOS_start();

return (0);
}

static void taskFxn(UArg a0, UArg a1)
{

while(1){
     GPIO_writeDio(Board_DK_LED2, !GPIO_readDio(Board_LED2));
      Task_sleep(25000);
}
}

看门狗计时到后,并不是马上触发WDT reset,而是先触发WDT interrupt,然后重新看门狗计时,第二次计时到后触发WDT reset。

The WDT can be configured to generate an interrupt to the controller on its first time-out, and to generate
a reset signal on its second time-out.

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top