【背景】

各位,除了树莓派4B之外,我又搞了个树莓派5, 装的也是Ubuntu24.04 LTS服务器版。装系统的方法跟树莓派4B一样,没什么好说的。装完了系统之后,我就想装个wiringPi来试试串口,却发现这个树莓派5的串口和树莓派4B的串口有点不一样。

树莓派4B的串口,可以参考我以前写的保姆级教程

树莓派4B+Ubuntu24.04 LTS串口通信 保姆级教程_树莓派4b ubuntu串口-CSDN博客

【保姆级教程】

下面就来说说这个不一样。

1. 首先,我还是跟树莓派4B一样,编辑了/boot/firmware/config.txt如下:

dtoverlay=uart2
dtoverlay=uart3
dtoverlay=uart4
dtoverlay=uart5

reboot后,ls /dev/ttyAMA*

得到的是:

/dev/ttyAMA10 /dev/ttyAMA2 /dev/ttyAMA4

没有/dev/ttyAMA3 /dev/ttyAMA5 

我就奇了怪了,到处搜索。。。

2. 原来,树莓派5的/boot/firmware/config.txt要这样改

dtoverlay=uart1-pi5
dtoverlay=uart2-pi5
dtoverlay=uart3-pi5
dtoverlay=uart4-pi5

这时, 用ls /dev/ttyAMA* 之后,得到的结果是

/dev/ttyAMA1  /dev/ttyAMA10  /dev/ttyAMA2  /dev/ttyAMA3  /dev/ttyAMA4

多了个/dev/ttyAMA10, 这是树莓派5 debug用的串口。

3. 树莓派4B和树莓派5的串口的对应关系

uart0  ->  uart10,     即  /dev/ttyAMA0 -> /dev/ttyAMA10
uart2  ->  uart1-pi5,  即  /dev/ttyAMA2 -> /dev/ttyAMA1
uart3  ->  uart2-pi5,  即  /dev/ttyAMA3 -> /dev/ttyAMA2
uart4  ->  uart3-pi5,  即  /dev/ttyAMA4 -> /dev/ttyAMA3
uart5  ->  uart4-pi5,  即  /dev/ttyAMA5 -> /dev/ttyAMA4

4. 结果检验

还是将GPIO0 和 GPIO1, 用一根线连起来

已经通信成功了。

5. 大功告成,亲个嘴儿。 

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐