Ich möchte über einige BASH-Skriptdateien über / dev / ttyAMA0 auf die serielle Schnittstelle zugreifen.
Wie konfiguriere ich die Einstellungen für die serielle Schnittstelle wie Geschwindigkeit, Parität gerade / ungerade?
Sie können verwenden
stty -F /dev/ttyAMA0 9600
um die Baudrate über die Befehlszeile auf 9600 einzustellen. Versuchen Sie man stty
, andere Optionen anzuzeigen.
So konfigurieren Sie den UART ttyAMA0 für Ihre Anwendung (wie minicom)
pi@raspberrypi:~ $ lsb_release -a
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 8.0 (jessie)
Release: 8.0
Codename: jessie
pi@raspberrypi:~ $ gpio readall
+-----+-----+---------+------+---+-Model B2-+---+------+---------+-----+-----+
| BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM |
+-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
| | | 3.3v | | | 1 || 2 | | | 5v | | |
| 2 | 8 | SDA.1 | IN | 1 | 3 || 4 | | | 5V | | |
| 3 | 9 | SCL.1 | IN | 1 | 5 || 6 | | | 0v | | |
| 4 | 7 | GPIO. 7 | IN | 1 | 7 || 8 | 1 | ALT0 | TxD | 15 | 14 |
| | | 0v | | | 9 || 10 | 1 | ALT0 | RxD | 16 | 15 |
| 17 | 0 | GPIO. 0 | IN | 0 | 11 || 12 | 0 | IN | GPIO. 1 | 1 | 18 |
| 27 | 2 | GPIO. 2 | IN | 0 | 13 || 14 | | | 0v | | |
| 22 | 3 | GPIO. 3 | IN | 0 | 15 || 16 | 1 | IN | GPIO. 4 | 4 | 23 |
| | | 3.3v | | | 17 || 18 | 1 | IN | GPIO. 5 | 5 | 24 |
| 10 | 12 | MOSI | IN | 0 | 19 || 20 | | | 0v | | |
| 9 | 13 | MISO | IN | 0 | 21 || 22 | 0 | IN | GPIO. 6 | 6 | 25 |
| 11 | 14 | SCLK | IN | 0 | 23 || 24 | 1 | IN | CE0 | 10 | 8 |
| | | 0v | | | 25 || 26 | 1 | IN | CE1 | 11 | 7 |
+-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
| 28 | 17 | GPIO.17 | IN | 0 | 51 || 52 | 0 | IN | GPIO.18 | 18 | 29 |
| 30 | 19 | GPIO.19 | IN | 0 | 53 || 54 | 0 | IN | GPIO.20 | 20 | 31 |
+-----+-----+---------+------+---+----++----+---+------+---------+-----+-----+
| BCM | wPi | Name | Mode | V | Physical | V | Mode | Name | wPi | BCM |
+-----+-----+---------+------+---+-Model B2-+---+------+---------+-----+-----+
Die Pins 8, GPIO14, TXD müssen sich im Modus ALT0 befinden (dieser Pin ist der serielle UART-Dateneingang).
Pin 10, GPIO15, RXD müssen sich im Modus ALT0 befinden (dieser Pin ist der serielle UART-Datenausgang).
Ihre Boot-Befehlszeile sollte folgendermaßen aussehen:
pi@raspberrypi:~ $ cat /boot/cmdline.txt
dwc_otg.lpm_enable=0 root=/dev/mmcblk0p7 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
Starten Sie den PI neu
Stoppen Sie den an / dev / ttyAMA0 angehängten Prozess
Da die Betriebssystemversion jessie auf systemd umgestellt wurde, ist die Datei / etc / initab nicht mehr vorhanden. Sie müssen den Befehl systemd systemctl verwenden, um getty.target zu stoppen, das an / dev / ttyAMA0 angehängt ist
pi@raspberrypi:~ $ sudo systemctl stop getty.target
HINWEIS: Dadurch wird ttyAMA0 freigegeben, bis Sie den Himbeer-Pi neu starten / neu starten. Nach dem Neustart müssen Sie den Befehl erneut eingeben.
init
und tun , ohnesystemd
auf Raspbian „Jessie“ - auf die gleiche Weise wie die Vorgängerversion „Wheezy“ geschaltet werden konnte zusystemd
. Allerdings werden wahrscheinlich nur Archäologen, die diese Frage aus der Zukunft erneut betrachten, dieses Extrem erreichen wollen, und stattdessen werden die meisten herausfinden wollen, wie eine dauerhafte Änderung vorgenommen werden kann, die einen Neustart überlebt ...gpio readall
=>gpio: command not found
auf Raspian 4.14 kann gelöst werden: raspberrypi.stackexchange.com/questions/54116/…