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

cc2530 zha1.2 看门狗 如何使用

为防止协调器出现死机现象 采用看门狗进行喂狗

TI的zha1.2标准协议栈   是否有固定的api 供我们调用?

chenzhenhui chen:

我预编译了    WDTIMX

if ( (zclSampleLight_NwkState == DEV_ZB_COORD) ||(zclSampleLight_NwkState == DEV_ROUTER) ||(zclSampleLight_NwkState == DEV_END_DEVICE) ){#ifdef WDT_IN_PM1                   //状态改变   清除WDCTL = 0xa0;WDCTL = 0x50;osal_start_timerEx( zclSampleLight_TaskID, SAMPLELIGHT_WATCHDOG_EVT,800);#endif

}

#ifdef WDT_IN_PM1if ( events & SAMPLELIGHT_WATCHDOG_EVT ){HalLedSet(HAL_LED_ALL,HAL_LED_MODE_TOGGLE);WDCTL = 0xa0;WDCTL = 0x50;osal_start_timerEx( zclSampleLight_TaskID, SAMPLELIGHT_WATCHDOG_EVT,800);return ( events ^ SAMPLELIGHT_WATCHDOG_EVT );}

问题:这样给 其喂狗正确么  

           如果正确 为什么还经常重新复位

chengzi chen:

回复 Yue TANG:

喂狗超时时间有4个选择, 而且最好在OSAL主循环的地方喂狗:

void osal_start_system( void ) { #if !defined ( ZBIT ) && !defined ( UBIT )   for(;;)  // Forever Loop #endif   {     osal_run_system();   } }

 

dongdong0071:

回复 chengzi chen:

我设置的是在主循环的地方喂狗,然后我的所有按键都只能使用一次,

我不加看门狗的时候,按键可以一直使用,

Aries Lord:

回复 dongdong0071:

建议在hal poll里面喂狗,另外UART Read里面也应该喂狗

赞(0)
未经允许不得转载:TI中文支持网 » cc2530 zha1.2 看门狗 如何使用
分享到: 更多 (0)