【问题标题】:Raspberry Pi - UART - disable TX and enable RX in program CRaspberry Pi - UART - 在程序 C 中禁用 TX 并启用 RX
【发布时间】:2021-08-01 12:12:10
【问题描述】:

我需要通过 UART 将我的树莓派 4 型号 b 与伺服器连接起来,但只能通过 1 根线。这意味着我必须将引脚 TX 和 RX 连接在一起。为此,我必须有办法在我的 C 程序中手动禁用 TX 或 RX。

感谢 termios.h 库,我可以轻松禁用 RX,但我没有找到任何方法来禁用 TX。

我试图通过这个来禁用它

tcflow(fd_myUART, TCOOFF); // it should suspend output

但是这不起作用,所以我想如果我将 TX 的引脚更改为 INPUT,它会将引脚从 UART 更改为 GPIO,但这也没有用。

请问有什么办法吗?

【问题讨论】:

    标签: c uart raspberry-pi4


    【解决方案1】:

    首先,只是“随机”连接两根电线是个坏主意。 下图显示了如何为原型做得更好。 在 TX 信号为高电平时,从设备能够在读取位或复位期间将 IO 线拉低。

    在此配置中使用时,不应禁用 RX 或 TX。您可以使用“正常”的 UART 操作。

    更多信息可以查看here(maxim集成教程214“使用UART实现1-WIRE BUS MASTER”)

    【讨论】:

    • 这可行,但我有点担心,因为我将在 1 个树莓派上连接 30 个伺服器,并且波特率必须高达 1 000 000 或 2 000 000。我很担心关于此解决方案中的波特率。
    猜你喜欢
    • 2013-06-19
    • 1970-01-01
    • 2012-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-09
    • 1970-01-01
    相关资源
    最近更新 更多