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.

[参考译文] RTOS/LAUNCHXL-CC1350:CC 1350软件复位

Guru**** 2595805 points


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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/586560/rtos-launchxl-cc1350-cc-1350-software-reset

器件型号:LAUNCHXL-CC1350

工具/软件:TI-RTOS

大家好、

我想在发生特定事件后通过软件重置 LaunchPad。 我该怎么做? 是否可以使用看门狗计时器?

如何使用此陈述?

SysCtrlResetSourceGet(void);

此致

Shubham

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

    您好!

    您可以使用看门狗时间来重置设备。 您只需确保在接收到事件后不会重置看门狗即可。

    您可以查看此主题以获得有关看门狗的一些帮助。

    [引用用户="Shubham Jindal"]

    如何使用此陈述?

    SysCtrlResetSourceGet(void);

    [/报价]

    以下是此函数的可能返回值:

    #define RSTSRC_PWR_ON (((AON_SYSCTL_RESETTCTL_RESET_SRC_PWR_ON)>>(AON_SYSCTL_RESETTCTL_RESET_SRC_S)
    #define RSTSRC_PIN_RESET (((AON_SYSCTL_RESETCTL_RESET_SRC_PIN_RESET)>>(AON_SYSCTL_RESET_SRC_S)
    #define RSTSRC_VDDS_LOSS (((AON_SYSCTL_RESETCTL_RESET_SRC_VDDS_LOSS)>>(AON_SYSCTL_RESET_SRC_S)
    #define RSTSRC_VDD_LOSS (((AON_SYSCTL_RESETCTL_RESET_SRC_VDD_Loss)>>(AON_SYSCTL_RESET_SRC_S)
    #define RSTSRC_VDDR_Loss (((AON_SYSCTL_RESETCTL_RESET_SRC_VDDR_Loss)>>(AON_SYSCTL_RESET_SRC_S)
    #define RSTSRC_CLK_LOSS (((AON_SYSCTL_RESETCTL_RESET_SRC_CLK_LOSS)>>(AON_SYSCTL_RESETY_SRC_S)
    #define RSTSRC_SYSRESET (((AON_SYSCTL_RESETCTL_RESET_SRC_SYSRESET)>>(AON_SYSCTL_RESETL_RESET_SRC_S)
    #define RSTSRC_WARMRESET (((AON_SYSCTL_RESETSTL_RESET_RESET_SRC_WARMRESET)>>(AON_SYSCTL_RESET_RESET_SRC_S)
    #define RSTSRC_WAKEUP_FRONT_SHUTDOWN (((AON_SYSCTL_RESET_SRC_M) >>(AON_SYSCTL_RESETCTL_RESET_SRC_S)+ 1) 

    此致、

    米歇尔

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    感谢先生的帮助。 我已从您提到的主题中获得帮助、但器件未重新启动。 如何使用看门狗。 还有一点、我们不能使用 Watchdog_clear (hWDT);在回调函数中、我们在此使用它。 看看这个线程、然后告诉我如何使用看门狗。

    e2e.ti.com/.../2154936

    根据该线程,我们无法在回调函数中使用 Watchdog_clear()。 在这种情况下、我应该怎么做?

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

    您好、Shubham、

    [引用 user="Shubham Jindal">根据此主题,我们无法在回调函数中使用 Watchdog_clear()。 在这种情况下、我应该怎么做?

    您是否阅读了看门狗的 Doxygen 文档? (Emmanuel 给您的链接)

    以下是回调函数的复制粘贴操作:

    [引述]

    在该函数中、用户可以执行适合应用的任何操作。 以下是一些建议:

    • 不执行任何操作、这样计时器将再次超时并触发复位、
    • 立即复位器件、
    • 执行自检以检查应用程序的完整性、
    • 布置 SWI 或任务以执行自检。

    [/报价]

    因此、您可以选择要执行的操作。 如果您不知道该怎么做、请不要在看门狗回调函数中放置任何代码(将其保留为空)、并让您的微控制器自动重新启动。

    此致、

    米歇尔