Raspberry Pi UART nicht funktionieren

Ich versuche zum senden/empfangen von Daten über eine serielle Verbindung (GPIO UART-pins) zwischen einem Raspberry Pi (Modell B, raspian wheezy) und ein STM32F4 board.

Setup der seriellen Schnittstelle, ich habe alle die stepts in mehreren tutorials, wie:
http://elinux.org/RPi_Serial_Connection#Preventing_Linux_using_the_serial_port

Wenn andernfalls eine Verbindung zu dem STM32F4-board, ich habe gelesen, dass können Sie testen, die serielle Schnittstelle lokal auf dem pi, wenn Sie gerade die Verbindung der TX -, RX-pins aus dem pi zu verbinden und es sollte, wiederholen Sie einfach die eingegebenen Daten in minicom.

leider funktioniert das nicht, entweder.

Den Einstellungen für ttyAMA0 in Dateien 'cmdline' und 'inittab' sind ok. (wie in vielen tutorials)

und allso versucht die automatische Konfiguration Scripte aus
https://github.com/lurch/rpi-serial-console

Anschluss RX an den TX-pin des rpi direkt nicht geben, jede Ausgabe in minicom. Allso ich habe versucht, mit einem python-Skript, das wiederholt gegebene Eingabe. Nichts scheint zu funktionieren, bin ich irgendwie hier verloren.

Minicom starten Befehl sollte richtig sein(versucht, mit verschiedenen baud-raten):

root@raspberrypi:/home/jef# minicom -b 9600 -o -D /dev/ttyAMA0

OPTIONS: I18n
Compiled on Apr 28 2012, 19:24:31.
Port /dev/ttyAMA0

Auf der Unterseite von minicom es zeigt immer den status offline:

CTRL-A Z for help |  9600 8N1 | NOR | Minicom 2.6.1  | VT102 |      Offline

Beim prüfen des verfügbaren seriellen Schnittstellen mit python nothinig ist swown:

python -m serial.tools.list_ports
no ports found

Benutzer ist in dailout-Gruppe, so dass sollte nicht das Problem sein(habe versucht, als root und nicht-root):

root@raspberrypi:/home/jef# id
uid=0(root) gid=0(root) groups=0(root),20(dialout),1001(indiecity)

Überprüfung, dass der serielle port nicht verwendet wird, die von getty mehr:

root@raspberrypi:/home/jef# ps aux | grep getty
root      2809  0.0  0.1   3740   804 tty1     Ss+  10:36   0:00 /sbin/getty --noclear 38400 tty1
root      2810  0.0  0.1   3740   804 tty2     Ss+  10:36   0:00 /sbin/getty 38400 tty2
root      2811  0.0  0.1   3740   804 tty3     Ss+  10:36   0:00 /sbin/getty 38400 tty3
root      2812  0.0  0.1   3740   804 tty4     Ss+  10:36   0:00 /sbin/getty 38400 tty4
root      2813  0.0  0.1   3740   804 tty5     Ss+  10:36   0:00 /sbin/getty 38400 tty5
root      2814  0.0  0.1   3740   804 tty6     Ss+  10:36   0:00 /sbin/getty 38400 tty6
root      3129  0.0  0.1   2012   624 pts/0    S+   11:57   0:00 grep getty

habe ich überprüft, die für andere apps mit ttyAMA0, allso nichts:

root@raspberrypi:/home/jef# ps aux | grep ttyAMA0
root      3125  0.0  0.1   2012   628 pts/0    S+   11:56   0:00 grep ttyAMA0

Benutzer hat die richtigen Rechte für den Zugriff auf die serielle Schnittstelle:

root@raspberrypi:/home/jef# ls -l /dev/ttyAMA0
crw-rw---T 1 root dialout 204, 64 Dec 25 11:53 /dev/ttyAMA0

Ist es etwas, das ich verpasst? Ich lese etwa 20 verschiedenen tutorials und blogs, wie setup die serielle Schnittstelle und ich kann mir nicht gerne was sind die Ursachen dieser. Könnten Sie mir einige Ratschläge, die ich schauen konnte bitte.

  • Es ist erwähnenswert korrekte Verwendung der seriellen ports auf raspberry pis nun ist /dev/serial0 oder /dev/seriell1. Neuere pis verwenden UART für bluetooth und viele ältere pis nicht. Damit wird es so machen, dass Ihr pi-Programm wird immer in Verbindung mit den vorgesehenen port UART oder nicht.
InformationsquelleAutor Martin Law | 2013-12-25
Schreibe einen Kommentar