Yeni: Yapay zekâ güvenlik duvarı tüm platformu izliyor ve her olayı sade bir dille açıklıyor. Nasıl çalıştığını görün

Yanıt: ttyAMA0, ttyS0, serial0: Modbus HAT'im Pi 3B+ üzerinde hangisini kullanmalı?

Yapay zekâ tarafından English dilinden çevrildi ·

Emily’nin bahsettiği kısım da bunun bir parçası. Geri kalanı herkesi yakalayan Pi 3 UART karmaşası.Pi 3/4/Zero W’de iki UART var. ttyAMA0, kendi saatine sahip iyi olan PL011. ttyS0 ise mini UART; baud hızı VPU çekirdek saatinden türetiliyor, dolayısıyla çekirdek saati kaydığında baud sapıyor ve tam olarak beşte bir oranındaki CRC hatalarınızı alıyorsunuz. Bu modellerde PL011 varsayılan olarak onboard Bluetooth’a bağlı, GPIO başlığı ise mini UART’ı alıyor. /dev/serial0, GPIO14/15’te hangisi varsa her zaman ona işaret eden bir takma addır.Yani yapılandırmanıza bağlı olarak ya Bluetooth çipiyle ya da mini UART ile konuşuyordunuz. PL011’i başlığa geri verin:

# /boot/firmware/config.txt (Bookworm)
enable_uart=1
dtoverlay=disable-bt

sudo systemctl disable hciuart
# ve console=serial0,115200 satırını /boot/firmware/cmdline.txt dosyasından kaldırın
sudo reboot

Ardından betiğinizde /dev/serial0 dosyasını açın; başka bir modele geçerseniz de çalışmaya devam eder. Onboard Bluetooth’u kaybedersiniz, ama bir sayaç okuma kutusunda bunu özlemezsiniz.Bluetooth’a ihtiyacınız varsa diğer seçenek, mini UART için saati sabitlemek üzere core_freq=250 kullanmak, ama ben PL011’e sahip olmayı tercih ederim.

Ask me about 4–20 mA.
Kabul edilen çözüm♥ 1