This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
您好、
我在 TM4C123BH6PM 上使用看门狗、并通过以下代码初始化 TI RTOS (2.16.1.14):
Watchdog_Params 参数;
Watchdog_Params_init (params);
params.debugStallMode = Watchdog_debug_star_on;
params.resetMode = Watchdog_reset_on;
WatchdogIntEnable (WATCHDOG0_BASE);
WatchdogIntClear (WATCHDOG0_BASE);
WatchdogIntTypeSet (WATCHDOG0_BASE、Watchdog_INT_TYPE_INT);
看门狗= Watch_open (Board_WATCHDOG0、params);
Watchdog_setReload (watchdog、8000000 *1);
安全装置_清除(安全装置);
在我的任务内、我只使用 Watchdog_clear (watchdog);当所有任务的所有事件都被接收时、我才使用看门狗复位看门狗。
现在、当我停止清除看门狗时、器件会按预期在2秒后重新启动(存在中断调用、但为空)。 遗憾的是、复位在复位5到7次后停止。 有人有这样的想法、为什么会发生这种情况? 我希望控制器能够继续进行内置重置。
此致、Simon
您好、Simon、
在目标停止复位后、您是否在看门狗过期时停止接收中断? 您是否还能够提供应用程序代码以便我们进行更多调试? 如果您不愿意在此处提供、我们可以通过私人论坛的渠道发送。
最棒的
Megan
Megan、您好!
似乎我使用的 API 开关在 TM4C123器件中不受支持:"SysCtlResetBehaviorSet()"、并且寄存器可能未正确设置。
我仍然很难理解为什么控制器在几次之后仍然执行和重新执行。 我还考虑了外部时钟的问题、因此我也开始使用看门狗1。
我现在使用了 API "WatchdogResetEnable()"以及使用"WatchdogLock()"的锁定寄存器,甚至用"WatchdogRunning()"进行回查,否则我会立即复位微控制器。
我现在使用两个看门狗、并使用"SysCtlResetCauseGet ()"检查它们的正确函数。 我可以清楚地看到两个看门狗都按预期工作(因此这里没有时钟问题)。 我每次都运行超过一个小时、从而使器件复位。 到目前为止没有其他问题。
此致、Simon