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-CC2640R2:UART 硬件流控制-设置端口 ID 后、RTS 变为低电平

Guru**** 2581345 points


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

https://e2e.ti.com/support/wireless-connectivity/bluetooth-group/bluetooth/f/bluetooth-forum/593174/rtos-launchxl-cc2640r2-uart-hardware-flow-control---rts-changes-to-low-after-setting-port-id

器件型号:LAUNCHXL-CC2640R2

工具/软件:TI-RTOS

您好!

我正在尝试将调制解调器器件与 Launchpad CC2640R2板连接。 我正在使用 uartecho 样本。

我需要启用 CTS/RTS 流控、我已在 uartCC26XXXXHWAttrs 表的.ctsPin、.rtsPin 中分配了引脚。

根据器件用户手册、默认情况下、CTS/RTS 线路为低电平有效信号。

但一旦我在 IOCFG 寄存器中将端口 ID 分配为 RTS,该行就会更改为 LOW。 (在范围内观察)

RTS 线路应保持为高电平、以便与调制解调器器件连接。  

任何帮助均已获得批准。 提前感谢。

此致、

阿鲁尔

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

    CC26xx 系列的 UART 硬件仅支持低电平有效 CTS 和 RTS (这就是驱动程序不允许配置此特性的原因)。 换句话说、它不仅是默认选项、也是唯一的选项。

    如果一侧正在传输或接收、则您观察到的行为似乎是一致的。 您是否观察到数据?

    如果您需要不同的行为、可以添加外部电路、也可以使用 GPIO 来制作逆变器、甚至可以编写自己的驱动程序并利用 CTS 和 RTS 中断来执行您喜欢的逻辑。

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

    你好,Rebel,

    我的问题是获得正确的初始信号电平。 根据26xx 文档、RTS/CTS 为"低电平有效"信号。 因此、默认情况下、RTS 线路应为高电平、它仅在 Tx/Rx 期间变为低电平。

    但是、一旦我将 GPIO 端口 ID 设置为 RTS、线路就会变为低电平。 我已经验证 了 UART.CTL 寄存器中的 RTS 位、该位设置为"0"

    请提供建议。

    谢谢、此致、

    阿鲁尔

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

    我建议查看 TI 驱动程序如何执行 CTS/RTS 逻辑、您可以在此处找到相关文档:

    除了驱动程序结构之外、您不必设置任何其他内容、驱动程序应该为您完成所有工作。 您可能会通过手动分配来取消驾驶员的工作。 software-dl.ti.com/.../_u_a_r_t_c_c26_x_x_8h.html 以 获取文档

    实际上、它的引脚多路复用、以便为 UART 模块提供 IO 控制、如果您手动执行、这可能是问题所在。

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

    你好,Rebel,

    我使用的是 TI 驱动程序、而不是手动更改寄存器。

    由于在 UART 初始化后未将 RTS 线路拉高、因此我开始单步调试驱动程序。

    我发现 RTS 线路变为低电平、端口 ID 被分配给 GPIO。

    此致、

    阿鲁尔