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.

[参考译文] LAUNCHXL-CC1352P:display_printf 停止输出到控制台并崩溃应用

Guru**** 2478765 points


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

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/1330334/launchxl-cc1352p-display_printf-stops-outputting-to-console-and-crashes-the-app

器件型号:LAUNCHXL-CC1352P

大家好、

我将使用 rfWakeOnRadioTx 和 rfWakeOnRadioRx 示例使设备不时发送广播数据包。 我将添加一些行、以便我想在接收到的数据包中看到数据。 因此、我使用 XDS110 UART 添加了 Display 驱动程序:

在 rfWakeOnRadioRx.c 文件上、我初始化 Display:

我已将一些内容添加到代码中、如下所示:

我在第258行添加了"接收到新数据包"这张图片、因为在 Display.h 上、文件引用表示"只能从任务或主上下文调用 API、因为实现可能依赖于信号量或其他无法正常工作或无法正常工作的 RTOS 服务 在 Hwi / Swi 上下文中"。 因此、我创建了在接收到新数据包时实现的"new_pck"变量:

检查 UART 输出、我可以看到、出于某种原因、它仅打印到"TEST4":

我还验证了大约3分钟30秒后,应用程序崩溃,并停止响应新数据包(它停止切换绿色 LED )。

请帮我找到我在这里遗漏的信息吗?

非常感谢、
爱德华多。

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

    尊敬的 Edouardo:

    您可以在不使用无线电的情况下独立擦除 UART 吗? 我认为对讲机与您看到的问题无关。

    连接了调试器后、是否可以重现此问题? 您能否运行应用程序、直至出现此问题、然后按暂停按钮并发布呼叫堆栈的屏幕截图?

    谢谢、

    M·H

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

    尊敬的 Marie:

    正确的,如果我运行无线电应用程序,我没有得到任何错误,只有当我添加 Display_printf()时才会发生。

    我运行应用程序,直到它中断(停止响应切换按钮),并暂停,正如你所说。 这是调用堆栈:

    我还在第237,239和242行添加了3个断点、一旦它停止打印到控制台。 它们都具有类似的堆栈、例如以下堆栈:

    希望这将是有用的,谢谢!

    谢谢、
    爱德华多。

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

    尊敬的 Eduardo:

    根据您的调用堆栈、器件似乎正在运行您的应用、它并没有被滞留在硬件异常或类似情况下。

    接下来要检查的是从 UART API 返回的所有状态。 我怀疑您从 UART 驱动程序收到(但未处理)的 FAIL 状态。

    谢谢、

    M·H