我有一个 Raspberry Pi 4 4GB,并通过 UART 连接到我的 PixHawk 4 Mini。如果我通过 USB-C 端口为 Raspberry PI 供电,它会启动,并且我可以通过 UART、GPIO 14(UART TX)和 GPIO 15(UART RX)与飞行控制器进行良好的通信。(即,我断定我的连接良好,并且已成功禁用 UART 控制台)。如果我通过 5A UBEC 为设备供电(请参阅 PIHUT 文章) 到 GPIO 引脚 4 和 6,Raspberry PI 无法启动。如果我断开 UART 电缆,Raspberry PI 会启动(通过 UBEC 供电)。
我在 Raspberry PI 3B 上尝试了同样的操作,遇到了同样的情况。
我在两台设备上运行 Ubuntu 20.04 LTS Server。
我的第一个问题是 UBEC 是否提供足够的电力。根据 PIHUT 文章,我认为它确实如此,但我如何确认这一点?PixHawk 4 mini 通过自己的电源供电,因此不会从 PI 中获取额外的电力。
我应该从哪里开始搜索?我在想我应该尝试启用备用 UART,看看是否能解决这个问题。
我也在Raspberry Pi 论坛这表明 TTY 控制台检测到来自飞行控制器的数据并假定它一定是控制台。(这有点覆盖了我禁用控制台)。然而,这并不能解释为什么 PI 在通过 USB-C 供电时会工作。
答案1
我在 Raspberry Pi-4 上启用了 UART5,修改了接线和代码。现在它可以正常工作了。虽然没有解释最初的问题,但确实提供了解决方案。