Raspberry Pi 和 STM32 是否需要电平转换器才能通过 GPIO(UART)端口进行通信?

Do I need a level converter for Raspberry Pi and STM32 to communicate via GPIO(UART) port?

我想将 STM32F407 探索板与 Raspberry Pi 4 Model B 连接。

而且我想使用UART作为通信方式,所以我打算在STM32上使用PD5&6,在RPi上使用Pin8&10。但是网上查了下说STM32的一个端口电压是5V,RPi是3.3V,看来需要一个电平转换器吗?

而且也有文章说STM32的端口不是都是5V的,有的是3.3V的。但我在数据表中找不到任何这些信息。谁能告诉我在哪里可以找到这些信息?

非常感谢~~

STM32也是用3.3V的。但它可以承受 5V。

继续连接它们。没有电压差。

您应该查看该发现板的参考手册。它在这里:STM32F407 Reference Manual.

在这些板之间连接 UART 应该没有问题。只需记住将 TX 从一个连接到另一个的 RX,反之亦然。您也可以使用 CTS/RTS 进行流量控制,但只要您使用 115200 或更慢的波特率就没有必要。

我推荐的其他方法是从探索板为 Raspberry Pi 供电。发现上应该有合适的电源引脚。这很重要,因为它让两块板使用相同的电源和接地,从而使 UART 逻辑电平在两者之间保持一致。这可能不是必需的,但如果我没有从另一块板为一块板供电,我在尝试将两块 Nucleo 板的 SPI 总线连接在一起时遇到了问题。