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-AM243:不会第二次触发 UART Rx 回调

Guru**** 2828325 points

Other Parts Discussed in Thread: SYSCONFIG

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

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1628411/lp-am243-uart-rx-callback-is-not-triggered-second-time

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

您好、

我正在使用的器件 IND_COMMS_SDK_am243x_09_02_00_24 开发环境。

我在一个需要每 20ms 发送和接收 8 字节数据的应用中使用 UART。 最初、我将 TX 和 RX 配置为轮询(阻塞)模式、数据传输工作正常。

我后来修改了实现 UART 传输保持在阻塞模式 、而 使用回调(非‑阻塞)模式处理 UART 接收 。 在 SysConfig 中更新配置并实现此更改后、传输将按预期工作。 但是、接收回调只触发一次。

在首次回调调用后、 不会再发生 RX 回调 、即使我继续从终端发送数据。  

APP_UART.c sysconfig.png

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

    您好、

    让我检查 UART 驱动程序、看看其中是否针对此问题修复了错误。

    此致、

    Vaibhav

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

    并非所有错误修复都适用于您的用例、但我希望您集成以下内容: https://github.com/TexasInstruments/mcupsdk-core/commit/19c69892091c4aeebfd4b95e230a81b869a9f43e

    其中讨论了 FIFO 触发器级别修复。 让我们在 SDK 中将其包含在内、然后重新构建库/驱动程序、再重新构建应用。 测试并告诉我。

    还可以向我介绍您如何拨打第二次回电? 如何调用读取、请提供一个示例代码结构、说明如何调用 UART 读取以及如何输入数据? (注意:输入数据的首选方法是通过 Python 脚本、该脚本以 UART 配置的波特率访问 COM 端口)

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

    集成 UART 驱动程序后、问题仍然相同。 我只能第一次看到数据字节。

    我们使用终端工具向 TI 发送数据以进行阻塞和回调。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    还可以告诉我您是如何调用第二个回调的? 您的读取是如何调用的、请提供一个示例代码结构、说明如何调用 UART 读取以及您如何输入数据?

    请同时回答以下问题。 给我一个代码片段、了解它是如何完成的。

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

    我已经在我的第一个线程中附加了。 但这里是我的代码、我们是 using.e2e.ti.com/.../2804.app_5F00_uart.c

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

    您好、

    我看到读取操作是从 RX 回调 API 本身调用的、这正是当前 UART 驱动程序不支持的功能。

    建议从任务上下文本身调用读取 API。

    此致、

    Vaibhav