在“线程:CC2650”中讨论的其它部件
工具/软件:TI-RTOS
大家好:
现在我想在我的项目中添加看门狗。 当我删除 了feed dog功能,程序keep restart时,我的设置似乎是success。
但是,当我添加喂入犬功能时,,程序只能运行喂入犬功能,即使我反复按键。
我自己的主板使用CC2.6404万*4芯片,软版本为 ble-sdk_2_02_01_18和tirtos_simplelink_2_13_00_06。
我的项目基于key_fob。
下面是 我的操作步骤。
1、添加 Watchdog。c、Watchdog。h、Watchdog CC26XX.c、WatchdogCC26XX.h in ble _SDK_2_02_01_18\src\components\services\src\watchdog。
2、添加选项包括路由:$SRC_BLE_CORE $/components/services/src/watchdog
3、添加代码
/////////////////////////////////////CC2650DK_4SX.c Begin///////////////////////////////////////////////////////////////
包含"Watchdog.h"
#include "WatchdogCC26XX.h"
WatchdogCC26XX_Object WatchdogCC26XX对象[CC2650_WATCHDOGCOUNT];
const WatchdogCC26XX_HWAttrs watchdogCC26XHwAttrs[]={
{
.baseAddr = WDT_BASE,
intNum = INT_NMI_FAULT,
//.intNum = INT_WDT_IRQ,
}
};
const Watchdog配置Watchdog配置[]={
{&WatchdogCC26XX_fxnTable,&watchdogCC26XXObjects[0],&watchdogCC26XHwAttrs[0]},
{ NULL,NULL,NULL },
};
///////////////////////////////////////CC2650DK_4SX.c end///////////////////////////////////////////////////////////////////////
////////////////////////////CC2650DK_4SX.h begin /////////////////////////////////////////////////////////////////////////////////////
typedef enum CC2650_WatchdogName {
CC2650_WATCHDOG0 = 0,
CC2650_WATCHDOGCOUNT,
} CC2650_WatchdogName;
////////////////////////////CC2650DK_4SX.h end/////////////////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////keyfobdem.c beg/////////////////////////////////////////////////////////
包含"Watchdog.h"
#include "WatchdogCC26XX.h"
#include <ti/drivers/power/PowerCC26XX.h>
...
void wdtCallback (UArg手柄)
{
打印("wdtcleal\r\n");
看门狗清除((看门狗手柄)手柄);
//HAL_SYSTEM_RESET();
}
静态Watchdog手柄watchdog =空;
void wdtInitFxn()
{
//Board_initWatchdog ();
Watchdog Params WP;
Watchdog Params_init(&W);
wp.callbackFxn = wdtCallback;
wp.debugStallMode = Watchdog调试_stall;
wp.resetMode = Watchdog_reset_on;
Watchdog = Watchdog打开(CC2650_WATCHDOG0,&WP);
Watchdog _setReload (watchog,300万);// 1秒(WDT始终以48MHz/32运行)
}
静态void密钥FObDemo_init(void)
{
...
wdtInitFxn();
...
}
///////////////////////////////////////keyfobdem.c end///////////////////////////////////////////////////////////////
出什么问题了吗?
非常感谢!