Eu quero acessar a porta serial por alguns arquivos de script BASH via / dev / ttyAMA0.
Como faço para definir as configurações da porta serial como velocidade, paridade par / ímpar?
Você pode usar
stty -F /dev/ttyAMA0 9600
para definir a taxa de transmissão para 9600 na linha de comando. Tente man stty
ver outras opções.
Para configurar o UART ttyAMA0 para seu aplicativo (como 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-+---+------+---------+-----+-----+
Os pinos 8, GPIO14, TXD devem estar no modo ALT0 (este pino é a entrada de dados serial UART)
O pino 10, GPIO15, RXD, deve estar no modo ALT0 (este pino é a saída de dados serial UART)
Sua linha de comando de inicialização deve ficar assim:
pi@raspberrypi:~ $ cat /boot/cmdline.txt
dwc_otg.lpm_enable=0 root=/dev/mmcblk0p7 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
Reinicie o PI
Pare o processo anexado a / dev / ttyAMA0
Como a versão do sistema operacional jessie mudou para o uso de systemd, o arquivo / etc / initab não existe mais. Você deve usar o comando systemd systemctl para parar o getty.target anexado a / dev / ttyAMA0
pi@raspberrypi:~ $ sudo systemctl stop getty.target
NOTA: Isso liberará o ttyAMA0 até você reiniciar / reiniciar o raspberry pi. Depois de reiniciar, você terá que dar o comando novamente.
init
e fazer semsystemd
no Raspbian "Jessie" - da mesma forma que a versão predecessor "Wheezy" poderia ser comutada parasystemd
. No entanto apenas arqueólogos revisitar esta questão do futuro estão propensos a querer chegar a esse extremo e, em vez mais vai querer encontrar-out como definir uma mudança permanente que irá sobreviver a uma reinicialização ...gpio readall
=>gpio: command not found
no Raspian 4.14 pode ser resolvido: raspberrypi.stackexchange.com/questions/54116/…