¿Cómo configurar el puerto serie de / dev / ttyAMA0?


9

Quiero acceder al puerto serie mediante algunos archivos de script BASH a través de / dev / ttyAMA0.

¿Cómo configuro los ajustes del puerto serie como velocidad, paridad par / impar?

Respuestas:


6

Puedes utilizar

stty -F /dev/ttyAMA0 9600

para establecer la velocidad en baudios a 9600 desde la línea de comando. Intenta man sttyver otras opciones.


6

Para configurar el UART ttyAMA0 para su aplicación (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-+---+------+---------+-----+-----+

Los pines 8, GPIO14, TXD deben estar en modo ALT0 (este pin es la entrada de datos en serie UART)

El pin 10, GPIO15, RXD, debe estar en modo ALT0 (este pin es la salida de datos en serie UART)

Su línea de comando de arranque debería verse así:

pi@raspberrypi:~ $ cat /boot/cmdline.txt
dwc_otg.lpm_enable=0 root=/dev/mmcblk0p7 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait

REINICIAR el PI

Detenga el proceso que se adjunta a / dev / ttyAMA0

Debido a que la versión del sistema operativo jessie ha cambiado para usar systemd, el archivo / etc / initab ya no existe. Debe usar el comando systemd systemctl para detener getty.target que se adjunta a / dev / ttyAMA0

pi@raspberrypi:~ $ sudo systemctl stop getty.target

NOTA: Esto lanzará ttyAMA0 hasta que reinicie / reinicie la frambuesa pi. Después de reiniciar, tendrá que dar el comando nuevamente.


Comentario revisado: actualmente es posible volver a cambiar a sysV inity prescindir systemdde Raspbian "Jessie", de la misma manera que se podría cambiar a la versión anterior "Wheezy" systemd. Sin embargo, sólo los arqueólogos volver a visitar esta cuestión desde el futuro es probable que quieren llegado a ese extremo y en su lugar la mayoría tendrá que encontrar-cómo configurar un cambio permanente que sobrevivirá un reinicio ...
SlySven

1
"Los pines 8, GPIO14, TXD deben estar en modo ALT0", ¿y qué hago si no lo está?
mvmn

1
PS Nevermind: solo hice "gpio mode 15 ALT0" y "gpio mode 16 ALT0" y todo salió bien.
mvmn

gpio readall=> gpio: command not founden Raspian 4.14 se puede resolver: raspberrypi.stackexchange.com/questions/54116/…
AJP
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.