如何在 Raspberry Pi Ubuntu 22.04 LTS 中启用附加 UARTS

如何在 Raspberry Pi Ubuntu 22.04 LTS 中启用附加 UARTS

我需要从连接到 Raspberry Pi 4 IO 板的两个传感器获取数据。我使用 Ubuntu 22,因为这是必需的。我已将一个传感器的 GPIO 4 和 5 以及另一个传感器的 GPIO 8 和 9 连接到 UART 3 和 UART 4。(我必须使用 RPI 引脚)。我已经在 /boot/config.txt 中启用了 dtoverlay,如下所示:

Under /boot/config.txt:

enable_uart=1
dtoverlay=uart3
dtoverlay=uart4

//This was already part of the config.txt file
dtoverlay=tft93441:rotate=270

更改后我重新启动了。

当我执行该命令时,sudo dmesg | grep uart出现以下内容:

[    0.000000] Kernel command line: coherent_pool=1M 8250.nr_uarts=1 
snd_bcm2835.enable_compat_alsa=0 snd_bcm2835.enable_hdmi=1 video=HDMI-A-
1:1920x1080M@60 smsc95xx.macaddr=E4:5F:01:2C:F2:C6 vc_mem.mem_base=0x3ec00000 
vc_mem.mem_size=0x40000000  zswap.enabled=1 zswap.zpool=z3fold zswap.compressor=zstd 
dwc_otg.lpm_enable=0 root=LABEL=writable rootfstype=ext4 rootwait fixrtc quiet splash 
cmdline=cmdline.txt dtoverlay=disable-bt
[    0.801780] bcm2835-aux-uart fe215040.serial: there is not valid maps for state default
[    1.245155] uart-pl011 fe201000.serial: there is not valid maps for state default
[    1.246101] uart-pl011 fe201000.serial: cts_event_workaround enabled
[   10.633647] uart-pl011 fe201000.serial: no DMA platform data

然后当我运行时sudo dmesg | grep tty,我得到以下信息:

[    0.000405] printk: console [tty0] enabled
[    0.803738] fe215040.serial: ttyS0 at MMIO 0xfe215040 (irq = 20, base_baud = 62500000) is a 16550
[    1.246191] fe201000.serial: ttyAMA0 at MMIO 0xfe201000 (irq = 19, base_baud = 0) is a PL011 rev2

我已经通过 USB 和 USB 转 UART 转换器模块连接了两个传感器,我可以看到来自传感器的数据。除了当我将它们连接到 RPI 引脚时。我已经通过串行和 minicom 连接到每个 /dev/tty# 端口。当我连接到 /dev/ttyS0、/dev/ttyAMA0 时,我没有收到任何数据。我确实具有传感器所需的正确波特率和超时。

我已经通过 raspi-config 启用串行通信并禁用登录 shell,然后重新启动。

有没有人遇到过同样的问题?或者有人能给我一些关于如何启用这些特定 UART 的建议吗?也许可以解释一下为什么连接到 GPIO 时 /dev/tty# 端口没有出现?

先感谢您!

相关内容