Làm cách nào để định cấu hình cài đặt cổng nối tiếp của / dev / ttyAMA0?


9

Tôi muốn truy cập cổng nối tiếp bằng một số tệp tập lệnh BASH qua / dev / ttyAMA0.

Làm cách nào để định cấu hình cài đặt cổng nối tiếp như tốc độ, chẵn lẻ / lẻ?

Câu trả lời:


6

Bạn có thể sử dụng

stty -F /dev/ttyAMA0 9600

để đặt tốc độ baud thành 9600 từ dòng lệnh. Hãy thử man sttyxem các lựa chọn khác.


6

Để định cấu hình UART ttyAMA0 cho ứng dụng của bạn (như 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-+---+------+---------+-----+-----+

Các chân 8, GPIO14, TXD phải ở chế độ ALT0 (chân này là đầu vào dữ liệu nối tiếp UART)

Chân 10, GPIO15, RXD, phải ở chế độ ALT0 (chân này là đầu ra dữ liệu nối tiếp UART)

Dòng lệnh khởi động của bạn sẽ trông như thế này:

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

GIỚI THIỆU PI

Dừng quá trình được gắn vào / dev / ttyAMA0

Vì phiên bản hệ điều hành jessie đã thay đổi thành sử dụng systemd, tệp / etc / initab không còn tồn tại. Bạn phải sử dụng lệnh systemd systemctl để dừng getty.target được đính kèm với / dev / ttyAMA0

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

LƯU Ý: Điều này sẽ phát hành ttyAMA0 cho đến khi bạn khởi động lại / khởi động lại raspberry pi. Sau khi bạn khởi động lại, bạn sẽ phải đưa ra lệnh một lần nữa.


Bình luận sửa đổi: Đó là hiện nay có thể thay đổi trở lại sysv initvà làm mà không có systemdtrên Raspbian "Jessie" - theo cách tương tự như phiên bản tiền nhiệm "Wheezy" có thể được chuyển đến systemd . Tuy nhiên, chỉ có các nhà khảo cổ xem xét lại câu hỏi này từ tương lai mới có khả năng muốn đạt đến cực điểm đó và thay vào đó hầu hết sẽ muốn tìm hiểu làm thế nào để thiết lập một thay đổi vĩnh viễn sẽ tồn tại khi khởi động lại ...
SlySven

1
"Các chân 8, GPIO14, TXD phải ở chế độ ALT0" - và tôi phải làm gì nếu không?
mvmn

1
PS Nevermind - chỉ cần thực hiện "chế độ gpio 15 ALT0" và "chế độ gpio 16 ALT0" và mọi thứ đều ổn.
mvmn

gpio readall=> gpio: command not foundtrên Raspian 4.14 có thể được giải quyết: raspberrypi.stackexchange.com/questions/54116/
AJP
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.