Comportement étrange lors de l'utilisation de UART0
Je dois utiliser les cinq UART PL011 sur un Raspberry Pi 4. Je n'ai aucun problème avec UART2 - UART5. Ce n'est que UART0 qui me pose des problèmes.
Je connecte un câble série d'un ordinateur portable au raspi sur UART0, lance un terminal sur COM1 sur l'ordinateur portable, et je SSH dans le raspi et exécute un terminal (minicom) pour "/ dev / ttyAMA0". Sur n'importe quel autre UART lorsque je fais cela, je peux taper dans l'un ou l'autre terminal et obtenir les caractères en écho sur l'autre terminal. Sur UART0, cependant, j'obtiens un garble aléatoire du côté raspi, et j'obtiens la chaîne "Minicom2.7.1" répétée à plusieurs reprises du côté de l'ordinateur portable. Si je tape des caractères sur le côté raspi, je les vois en écho sur l'ordinateur portable avec la chaîne "Minicom". Qu'est-ce qui pourrait causer cela?
Voici les étapes que j'ai utilisées pour activer UART0:
- Bluetooth désactivé en ajoutant "dtoverlay = disable-bt" à "/boot/config.txt"
- Définition de "enable_uart = 1" dans le même fichier de configuration.
- Utilisation de raspi-config pour activer les ports série et désactiver le shell sur série
- Désactivé le service "hciuart".
Le système d'exploitation est mis à jour avec les dernières versions de tout.
De plus, si je câble le RX au TX (broche 8 à broche 10), il se comporte comme prévu, c'est-à-dire que la saisie de caractères dans un terminal les renvoie.
Voici une partie de la sortie de "raspi-gpio get"
GPIO 14: level=1 fsel=4 alt=0 func=TXD0 pull=NONE
GPIO 15: level=1 fsel=4 alt=0 func=RXD0 pull=UP
Il n'y a pas de func = TXD1 ou RXD1. Je ne sais donc pas pourquoi certaines personnes disent que les UART 0 et 1 sont en conflit.
Réponses
AFAIK vous ne pouvez pas utiliser 5 UART.
Bien que le SOC dispose de 6 UART, tous ne sont pas accessibles sur le Pi4 car certains partagent les mêmes broches (les autres banques GPIO ne sont pas accessibles). On ne peut utiliser que les broches réservées sur l'en-tête utilisé pour l'extension HATS et I²C.
Cela peut être possible si vous désactivez Bluetooth (qui utilise un UART).
Voir Raspberry Pi4 UART