大家好、我正在使用两个 BeagleBone Black 板来测试 UART 功能。 BBB 具有 AM3358处理器、该处理器上有6个 UART [0:5]。 我正在尝试在 UART5上启用功能。 到目前为止、只有 TX 按预期工作、Rx 似乎没有读取。 使用技术参考手册和 UART0配置作为参考基础、我已经将 UART5控制模块寄存器配置为:
out32 (0x44E108C4 、(0x4 |(0x1 << 4)|(0x1 <<5)); //[P8 38] UART5_RXD */
out32 (0x44E108C0 、(0x4 | 0x0 <<3)); /*[P8 37] UART5_TXD */
我考虑了引脚多路复用、并确保没有引脚冲突。 我还确保寄存器更改为我设置的值、并在设置后读回它们。
就我所能知、我无需配置任何其他寄存器即可实现基本功能工作。 配置寄存器后、在两个电路板上以相同的波特率(115200)启动 UART5、并将中断 int 设置为46 (手动)、然后将 TX 引脚从一个 BBB (driverBBB)连接到另一个 BBB 的 Rx 引脚(reciverBBB)。 我使用 O 范围来验证是否正确地通过 TX 线路发送了正确的数据、但 Rx 未读取数据。
有趣的是、UART5的配置与 UART0 (模式短接)非常相似、UART0在 TX 和 Rx 上都能完美工作。 因此、我不明白为什么 UART5TX 工作、但 Rx 不工作。
那么、我的问题是、我是否需要配置其他寄存器才能使 UART5接收?
如果它产生任何差异、我将在 QNX 中进行编码。
任何建议都非常感谢、
Jason