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.

[参考译文] LP-CC2652R7:从 based_ble 示例向控制台显示消息时出现问题

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1240908/lp-cc2652r7-problem-displaying-messages-to-the-console-from-the-basic_ble-example

器件型号:LP-CC2652R7
主题中讨论的其他器件:SysConfig

您好!

我正在 LL-CC2652R7电路板上运行 based_ble 示例(TI RTOS 7、TI Clang)、但 在尝试修改它以便在"Console"选项卡上显示消息时遇到了多个问题。

首先、我曾尝试从不同的位置调用 printf、无论是在 BLE 代码中(例如 app/Profiles/app_simple_Gatt.c)还是在单独的线程中、我最终会希望在我的应用中执行这些操作。 在这两种情况下、如果我已经通过 BLE Scanner 连接到器件、在 printf 运行后不久(我确实在控制台上看到该消息)、器件将断开连接、并在显示驱动程序的 UART 终端上显示一条"link_termined_event:peripheral role role、connectionHandle = 0、Reason = 8"消息。

第二、也是可能相关的、我曾尝试通过 XDS110让所有 Display_printf 消息转到控制台、而不是 UART 终端。  因此、在 syscfg 文件中的 TI drivers/Display/CONFIG_Display_0、我将"Use Hardware"更改为"None"、将"Display Type"更改为"Host"。  完成此操作后、 只要 我尝试通过 BLE Scanner 连接到器件、它就会立即断开连接、并显示"link_termined_event:外设角色、connectionHandle = 0、Reason = 62"消息。

非常感谢您提供任何帮助。

谢谢。

埃里克

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

    您好、Eric、

    感谢您与我们联系、

    首次断开连接8的原因是连接超时、

    我很好奇您是如何实现 printf 函数的。 您是否使用了 Display_printf?

    第二次断开62的原因是连接未能建立、对于这一个我尝试复制但没有成功、您是否在应用程序中更改了除显示屏之外的任何内容?   

    此致、

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

    在第一个问题中、我将 stdio.h 包含在 app_simple_Gatt.c 中、并调用了标准 printf 函数、例如、从 SimpleGatt_changeCB 函数中调用。 我无法使用 Display_printf 函数来打印到控制台(第二个问题)。 即使我转到 syscfg 文件并在"TI Drivers/Display"下添加第二个显示器(使用硬件=无、显示器类型=主机)、使用 Display_printf 使连接断开62。

    对于第二个问题、除了 syscfg 文件、我在应用程序中什么都没有更改、如所述。 它成功地将消息从 UART 终端移动到控制台选项卡、但 导致断开连接62。

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

    所以、您不想使用 UART 的串行终端显示屏、因为您想拥有一个专门用于调试的全新显示屏? (我想说的是、就像我一样、我可以在 app_simple_gat.c 中添加一些显示内容、而不会删除默认值并保留相同的模板。 您也可以删除默认显示)。

    您应该考虑查看位于 SDK 示例的驱动程序文件夹中的 Display 示例、我相信您会有更多输入。

    看来显示屏本身推着外设来结束连接、多了解一下第二个问题、就不需要使用 UART 终端了吗? (您添加的所有显示是否通过串行终端正常工作?)

    此致、

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

    我想让所有 BLE 消息继续按照实现的方式转到 UART 终端显示屏、但 我不想干扰或覆盖其中的任何内容。 因此、我 希望新的调试内容转到"Console"选项卡、这就是我尝试在新显示器(类型=主机)上使用 printf 或 Display_printf 的原因。 但是、 如果不 导致 器件意外断开、这种情况似乎无法实现。 在我看来、这似乎是一个您可以重现的错误。

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

    我理解您的观点、因为现在您不会通过向 UART 终端添加调试内容来干扰任何东西。 如果显示屏遮挡了您的视线、您应该考虑使用 GPIO 或 LED 进行调试。

    此致、

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

    Eric、您好!

    您是否仍在为该显示问题感到苦恼?

    我发现更多输入告诉我它们是否有用、 您需要打开两个不同的 Display TI 驱动程序、并根据您要的输出为每个驱动程序进行 API 调用。 还需要考虑 TI-RTOS7配置。 您可以像使用下面的 SLA 那样使用 gpiointerrupt 来了解这些功能、然后从那里进行构建

    https://dev.ti.com/tirex/explore/node?node=A__ANhb8wLgMuaIL980opkRTQ__com.ti.SIMPLELINK_ACADEMY_CC13XX_CC26XX_SDK__AfkT0vQ__LATEST

    希望它对您有所帮助、

    此致、

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

    纪尧姆、您好!

    当我向我的(basic_BLE 示例) syscfg 文件添加第二个 UART 显示模块时、第一个模块会停止工作。 那么、似乎我是否执行 Display_open (0、NULL)、Display_open (1、NULL)、Display_open (Display_Type_UART、 Null)、 Display_open (Display_Type_UART | 1、NULL)、每个 Display_printf 都转到 第二个 Display。 这仍然是一个未决问题吗?

    CCS/CC3220SF-LAUNCHXL:使用多个 UART 显示器时出现问题- Code Composer Studio 论坛- Code Composer Studio ︎- TI E2E 支持论坛

    谢谢。

    埃里克

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

    您好、Eric、

    您是否在 SysConfig 中打开了两个显示屏并且没有发生任何冲突?

    您在 SysConfig 上的 UART 的名称是什么?

    此致、

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

    syscfg 文件中 没有任何冲突、Display_open 或 Display_printf 调用均未返回错误。 它们分别是 CONFIG_Display_0和 CONFIG_Display_1。

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

    而 CONFIG_Display_0和 CONFIG_Display_1定义的值是0还是1?

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

    构建项目似乎没有在 ti_drivers_config.h 中定义这些常量、我认为这个问题与我之前发送的链接相同。 我不希望在每次构建后都覆盖 Build/Release 文件夹中的任何内容、正如所建议的那样。 因此、如果显示驱动程序对多个显示器不起作用、我可能只打算编写自己的 UART 代码、而不使用该驱动程序。

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

    没错、但您可以直接在 SysConfig 中独立于第一个 UART (链接到 TI 显示屏)打开一个新的 UART、SysConfig 中直接提到了引脚、您不必使用 XDS 110硬件。

    此致、