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.

[参考译文] TM4C1290NCPDT:看门狗

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/616329/tm4c1290ncpdt-watchdog

器件型号:TM4C1290NCPDT
Thread 中讨论的其他器件:CC3100BOOST

尊敬的团队

e2e.ti.com/.../Watchdog.c

我们希望获得 TI 的技术支持、以便使用 TI 微控制器进行产品开发。

对于纺织行业、我们开发了一款采用 TI 微控制器 TM4C129ENCPDTI3R 和 CC3100BOOST 的产品、并启用了 TM4C129中的内部看门狗、超时时间为12秒、用于重置系统。

我们了解到、在许多情况下、如果发生超时、系统将重置。 但在少数情况下、看门狗复位没有发生。

请找到与看门狗模块(初始化、刷新等)相关的随附代码(部分)。

请检查这种情况的可能性并支持我们解决此问题。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    邓、
    您将在主循环内的每个周期重新加载狗。 那么、除非其他任务之一锁定、否则您不会期望复位、对吧?
    如果正确、超时复位是否符合您的预期? 如何(如果是)强制锁定以测试看门狗?
    布鲁诺
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您使用的粘贴代码( 图标)? 我不下载文件。

    Robert
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    邓、
    正如 Bruno 所说的,您正在调用 watchdog_refresh()以在 while 循环中重新加载 WD 计数器。 除非 while 循环中的其余任务花费的时间比刷新 WD 更长、否则 WD 不会复位。

    #IF (INT_WDOG_ENABLED)
    Watchdog_refresh();
    #endif
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢您的回复。

    是的。 你是对的。 ‘rewhile 循环中的任务集需要更长的时间’,则应进行重置。 这就是目的。

    看门狗超时周期大约为12秒(第6秒的第一个超时、然后重置 MCU 的第2个超时位于第12秒)。 如果 while 循环中的任务重置需要超过12秒、则应进行重置。 您能否确认我们与您共享的代码可以满足此要求。

    您是否看到即使在12秒(超过超时时间)后处理器也无法复位的任何可能原因。 Watchdog_refresh()仅在 main()函数的 while 循环中调用。

    再次感谢您的时间和支持。

    此致
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    [报价用户="Green Deng "]您能否确认我们与您共享的代码是否符合此要求。

    这一概念是正确的、应该起作用。 至于"我们能否确认"、我想说这是供您测试的-这是您的代码和开发。 作为建议、您可以在主代码中进行测试、可能由按钮控制-类似于 while (push_button_in_pressed){}。 或者以某种方式强制您的外部任务花费超过12秒...

    [引用 user="Green Deng "]您是否看到了处理器在12秒后仍无法复位的任何可能原因

    同样、这个概念是正确的-是否存在任何错误或微小错误? 这通常由开发人员进行测试和验证。 您能否这样做并将结果发布回您的结果? 我特别发现看门狗的12秒是一个很长的时间... 无法想象任何可能会消耗大量代码并且仍然是一个正常代码段的合理单线程应用。

    此致

    布鲁诺