Thread 中讨论的其他器件:BLE-STACK、 SIMPLELINK-CC2640R2-SDK
工具/软件:Code Composer Studio
版本信息 CCS 版本:7.1.0 TI-RTOS 2.20 TI BLE-Stack 3.00.00.22
我尝试使用内部看门狗来重置我的器件、但无法使用此功能。
我已经尝试了驱动程序接口和驱动程序库接口、甚至通过在控制器中设置必要的寄存器来实现。
我在这个论坛上读过一些主题帖、在其他网站上搜索、但没有找到答案。 在某些地方、它指出看门狗是优先级的、但我想这意味 着驱动程序层。
当使用调试器运行时、每5秒调用一次回调、但现在复位、因为据我了解、软复位的复位功能被禁用。
没有调试器、我看不到任何复位。 在 加电时有一个 LED 闪烁、但在首次加电时只能看到一次。 器件的功能正常工作(除了每10秒复位一次)
我还尝试 从回调函数调用 SysCtrlSystemReset(),但这不会重置设备。 在回调之外、它可以正常工作
我猜我忘记了一些小东西、但什么?
下面的代码。 (main 正在调用 HALInit(),然后调用 HAL_WDT_Enable(),而我从未调用 HAL_WDT_KICK ())
用于看门狗的//句柄
静态看门狗_Handle HAL_WDT_Handle;
void HAL_Init()
{
(笑声)
/*呼叫板初始化函数*/
Watchdog_init();
(笑声)
}
void HAL_WDT_Callback (uintptr_t 未使用)
{
/*清除看门狗中断标志*/
Watchdog_clear (HAL_WDT_Handle);
}
void HAL_WDT_Enable (void)(空)
{
Watchdog_Params 参数;
uint32_t 节拍;
/*创建并启用禁用复位的看门狗*/
Watchdog_Params_init (params);
params.callbackFxn =(Watchdog_Callback) HAL_WDT_Callback;
params.resetMode = Watchdog_reset_on;
// params.debugStallMode = Watchdog_debug_star_on;
HAL_WDT_Handle = Watchdog_open (Board_WATCHDOG0、¶ms);
IF (HAL_WDT_Handle == NULL)
{
/*打开看门狗时出错*/
while (1);
}
节拍数= Watchdog_convertMsToTicks (HAL_WDT_Handle、5000);
(空) Watchdog_setReload (HAL_WDT_Handle、tick);
}
void HAL_WDT_KICK (空)
{
Watchdog_clear (HAL_WDT_Handle);
}
此致 Örjan