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:具有有限复位数的看门狗

Guru**** 1552380 points
Other Parts Discussed in Thread: TM4C123BH6PM
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/879012/tm4c123bh6pm-watchdog-with-limited-no-of-resets

器件型号:TM4C123BH6PM
主题中讨论的其他器件: TM4C123

您好、

我在 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