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.

[参考译文] CC2340R5:如何使用 UART 硬件 RTS 流量控制?

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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/1367694/cc2340r5-how-to-use-uart-hardware-rts-flow-control

器件型号:CC2340R5
主题中讨论的其他器件:SysConfig

工具与软件:

您好!

在 UART2LPF3.c 中有硬件流控制元素、我想在数据流示例中使用该元素。

我如何使用它,是否有一个样本?

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

    您好!

    要使用 UART 流控制、可以在 SysConfig 中启用。

    只有部分 DIO 可以支持 UART 流控制(RTS 和 CTS)、因此您需要相应地规划设计。
    数据表中列出了支持该功能的 Dios、分别为 UART0RTS 和 UART0CTS。

    请注意、在上面的示例中、假设有一个 LaunchPad 板、 我将 DIO21用于 CTS、将 DIO8用于 RTS。 这两者还连接到 Launchpad 红色/绿色 LED、因此需要移除这些 LED 跳线。

    谢谢!
    Toby

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

    尊敬的 Toby:

    在您的回复中提到的 launchpad、这款 RTS 和 CTS 不支持在产品芯片中?
    我检查了 RGE 配置、没有要设置的 RTS 和 CTS 引脚多路复用器。

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

    我漏掉了流控制开关、现在我得到了 RTS 和 CTS 配置项。

    谢谢你。

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

    尊敬的 Toby:

    我增加了控制、但输出引脚不改变它的电压、甚至我发送了数百次长度为1024字节的数据。

    是否需要在任何地方进行更多设置或调用函数?

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

    需要进一步调查。  

    计划在5个工作日内提供更新。

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

    好的、等待您的信息。

    BR.

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

    这是预期行为。

    RTS 输出引脚处于低电平意味着 UART 外设已准备好接收字节(即 RX FIFO 中存在空间)。
    由于 RTS 始终为低电平、这意味着 UART RX 始终已准备就绪。 这很可能是因为我们的器件使用 DMA 将 FIFO 字节复制到 RAM。
    这只影响器件的 RX。

    对于 TX、相关的引脚是 CTS 输入。 只要 CTS 为低电平、器件就可以执行 UART TX。
    可通过将 CTS 引脚连接到 GND 来检查此情况。

    有关更多详细信息、请参阅 TRM: https://www.ti.com/lit/pdf/swcu193中的"19.3.5流量控制"

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

    我知道 RTS/CTS 是如何工作的、但有些东西与理论不符。

    我将初始值设置为高电平、在启动前获取电压、预期结果为"-_______ "、但我得到的结果总是很高"---- "。

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

    您要在代码的哪个点检查电压? 是在 UART_OPEN 之前还是之后?

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

    我检查了整个程序的寿命。

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

    我在我这边使用 DIO8、看到输出一直为低电平(UART RX 始终就绪)。

    对于 DIO、能确保捕获正确的物理引脚吗?

    当我在 DIO8上使用 RTS 在默认 uartecho 示例上调用 uart_open 后、我看到 DIO8变为低电平。