Я хочу получить доступ к последовательному порту с помощью некоторых файлов скриптов BASH через / dev / ttyAMA0.
Как настроить параметры последовательного порта, такие как скорость, четность / нечетность?
Вы можете использовать
stty -F /dev/ttyAMA0 9600
установить скорость передачи 9600 из командной строки. Попробуйте man stty
посмотреть другие варианты.
Для настройки UART ttyAMA0 для вашего приложения (например, 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-+---+------+---------+-----+-----+
Выводы 8, GPIO14, TXD должны быть в режиме ALT0 (этот вывод является вводом последовательных данных UART)
Вывод 10, GPIO15, RXD, должен быть в режиме ALT0 (этот вывод является выводом последовательных данных UART)
Ваша командная строка загрузки должна выглядеть так:
pi@raspberrypi:~ $ cat /boot/cmdline.txt
dwc_otg.lpm_enable=0 root=/dev/mmcblk0p7 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
Перезагрузите пи
Остановите процесс, связанный с / dev / ttyAMA0
Поскольку версия ОС jessie была изменена на использование systemd, файл / etc / initab больше не существует. Вы должны использовать команду systemd systemdl, чтобы остановить getty.target, который прикреплен к / dev / ttyAMA0
pi@raspberrypi:~ $ sudo systemctl stop getty.target
ПРИМЕЧАНИЕ: Это будет выпускать ttyAMA0, пока вы не перезагрузите / перезапустите Raspberry Pi. После перезагрузки вам придется снова дать команду.
init
и обойтись безsystemd
на Raspbian «Jessie» - так же, как и предшественник версии «хриплый» может быть включен вsystemd
. Однако только археологи, возвращающиеся к этому вопросу из будущего, вероятно, захотят дойти до этой крайности, и вместо этого большинство из них захотят узнать, как установить постоянное изменение, которое переживет перезагрузку ...gpio readall
=>gpio: command not found
На Raspian 4,14 может быть решена: raspberrypi.stackexchange.com/questions/54116/...