ฉันต้องการเข้าถึงพอร์ตอนุกรมโดยไฟล์สคริปต์ BASH บางไฟล์ผ่าน / dev / ttyAMA0
ฉันจะกำหนดการตั้งค่าพอร์ตอนุกรมเช่นความเร็วความเท่าเทียมกัน / คี่ได้อย่างไร
ฉันต้องการเข้าถึงพอร์ตอนุกรมโดยไฟล์สคริปต์ BASH บางไฟล์ผ่าน / dev / ttyAMA0
ฉันจะกำหนดการตั้งค่าพอร์ตอนุกรมเช่นความเร็วความเท่าเทียมกัน / คี่ได้อย่างไร
คำตอบ:
คุณสามารถใช้
stty -F /dev/ttyAMA0 9600
เพื่อตั้งอัตรา baud เป็น 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
รีบูต PI
หยุดกระบวนการที่เชื่อมต่อกับ / dev / ttyAMA0
เนื่องจาก OS เวอร์ชัน jessie เปลี่ยนไปใช้ systemd ไฟล์ / etc / initab จึงไม่มีอยู่อีกต่อไป คุณต้องใช้คำสั่ง systemd systemctl เพื่อหยุด getty.target ที่เชื่อมต่อกับ / dev / ttyAMA0
pi@raspberrypi:~ $ sudo systemctl stop getty.target
หมายเหตุ: นี่จะปล่อย ttyAMA0 จนกว่าคุณจะรีบูต / รีสตาร์ท raspberry pi หลังจากรีบูตเครื่องคุณจะต้องให้คำสั่งอีกครั้ง
gpio readall
=> gpio: command not found
บน Raspian 4.14 สามารถแก้ไขได้: raspberrypi.stackexchange.com/questions/54116/ …
init
และทำโดยไม่systemd
เกี่ยวกับ Raspbian "เจสซี่" - ในทางเช่นเดียวกับรุ่นบุกเบิก "ดังเสียงฮืด ๆ" อาจจะเปลี่ยนไปsystemd
อย่างไรก็ตามนักโบราณคดีเพียงคนเดียวที่กลับมาตอบคำถามนี้ในอนาคตมีแนวโน้มที่จะต้องการมากที่สุดและส่วนใหญ่จะต้องการทราบวิธีการตั้งค่าการเปลี่ยนแปลงถาวรที่จะอยู่รอดได้ในการรีบูต ...