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.

[参考译文] CC3220R:看门狗:MCU 在执行处理程序之前重置

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1075765/cc3220r-watchdog-mcu-resets-before-handler-is-executed

部件号:CC3220R
“线程:CC3200”中讨论的其它部件

您好,

在我的应用程序代码中使用 WDT 的 IM,其初始化如下所示

  Watchds_Params 参数;

  Watchds_init()

  Watchds_Params_init(&params)

  params.callbackFxn =看门狗回调;

  Params.resetMode =看门狗重置开启

  G_watchdogHandle =看门狗打开(config_watchder_0,参数);

  如果(g_watchdogHandle == NULL)为{

    //打开监视程序时出错

    UART 打印(“错误:看门狗_打开()\n");

    同时(1);

  }

  //将超时时间设置为10000 ms

  UINT32_t tickValue =看门狗转换消息 ToTicks (g_watchdogHandle,10000);

  Watchds_setReload (g_watchdogHandle,tickValue);

如您所见,我添加了一个回调函数  watchds_callback,希望在 WDT 计时器到期时执行该函数。 但是,当我触发 WDT 超时时时,处理程序 watchds_callback 开始执行,但在 处理程序中间停止,似乎 MCU 在执行整个回叫 功能之前被重置。 有什么 想法 我做错了什么?  

巴西托马斯

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

    大家好,托马斯,

    我明天会跟进。

    谢谢,
    雅各布

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

    你好,Tomas,

    请发布回调函数的代码片段吗?

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

    您好,

    当然,回电目前看起来就像这样

    门狗回调无效(看门狗手柄)

      UART 打印(看门狗中断处理程序”)

      PV.vars.WD_counter++

      PV_SAVE ();

      HIBEntreprender();

      PRCM 休眠 WakeupSourceEnable (PRCM_HIB_slow _CLK_CTR);

      PRCMHibernateIntervalSet (330);

      PRCMHibernateEnter()

    }

    这样的处理程序在 cc3200上运行时工作正常,并使用“通用”示例中的 WDT 接口初始化 WDT 和相关的处理程序/回调 fn。  

    IM 触发 WDT 并检查 WDT 计数器,但不会增加,但有时可以在 UART 上看到打印输出。

    致 Tomas

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

    你好,Tomas,

    在我看来,您需要看门狗重置关闭

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

    此外,确保 您有 params.debugStallMode = Watchding_debug_st憋 火;

    在 CCS 中进行调试时。