Bagaimana cara mengatur kecepatan UART?


12

Bagaimana seharusnya Anda mengatur baud rate UART

Pertanyaan bonus: Berapa baud rate yang tersedia di RPi?

Sunting : Sejak membaca dari jawaban Steve, saya telah menemukan bahwa ada dua UART yang tersedia.

Mini-UART dapat bekerja hingga 32Mbaud, tetapi memiliki buffer kecil sehingga membutuhkan banyak CPU untuk mengikutinya.

Ada juga UART dengan fitur lebih lengkap dengan buffer lebih besar, saya belum menemukan kecepatan minimum / maksimum untuk itu.


Apakah Anda ingin mengatur baud rate pada waktu berjalan, untuk berinteraksi dengan perangkat lain, atau saat boot, sehingga Anda dapat masuk ke Pi melalui port serialnya?
Malvineous

@Malvineous, Waktu boot ok, tapi runtime juga berguna. Saya tertarik berbicara dengan perangkat lain.
John La Rooy

Jawaban:


9

Menurut Panduan Memulai Cepat Farnell , baud rate default adalah: 115200 . Diskusi yang cukup terperinci tentang pengaturan dan kemampuan UART dapat ditemukan di posting blog ini Lebih lanjut tentang port serial Raspberry Pi . Detail / tantangan implementasi yang lebih spesifik untuk bekerja dengan port serial dapat ditemukan di posting blog Mendapatkan Raspberry Pi saya yang diatur untuk komunikasi serial UART berkecepatan tinggi .

Anda tidak menyebutkan distribusi yang sedang Anda jalankan, tetapi dengan asumsi Anda menjalankan Debian Anda dapat mengatur baud rate dengan melakukan hal berikut:

Perhatikan Raspberry Pi menggunakan UART untuk Pesan Konsol (termasuk pesan booting) dan getty sehingga Anda dapat masuk melalui serial. Untuk menggunakan port serial ini untuk penggunaan Anda sendiri, Anda harus menonaktifkan layanan ini.

Untuk mengubah baudrate konsol, edit / boot / cmdline.txt relacing 115200 dengan baud rate yang Anda inginkan (perhatikan ini semua satu baris).

dwc_otg.lpm_enable = 0 konsol = ttyAMA0,115200 kgdboc = ttyAMA0,115200 konsol = tty1 root = / dev / mmcblk0p2 rootfstype = ext4 rootwait

kemudian edit /etc/initab untuk mengubah baudrate getty (Anda harus menemukan garis seperti berikut dengan baudrate 115200, ubah ke baud rate yang Anda inginkan)

2: 23: respawn: / sbin / getty -L ttyAMA0 115200 vt100

dan, ingatlah untuk memperhatikan tegangan pin Anda untuk menghindari kerusakan pada Anda Pi.

Referensi Tambahan:

http://www.andremiller.net/content/raspberry-pi-and-arduino-via-gpio-uart


3

Utas ini memiliki solusi untuk laju baud sewenang-wenang (non-standar): /programming/12646324/how-to-set-a-custom-baud-rate-on-linux/21960358

Melakukan manipulasi POSIX terlebih dahulu, kemudian ini untuk mengatur kecepatan khusus, berfungsi dengan baik pada UART bawaan Raspberry Pi untuk mendapatkan kecepatan baud 250k. Jadi seperti halnya tarif standar POSIX, Anda dapat memiliki hampir semua faktor integer 16M, hingga setidaknya 1M ( http://fw.hardijzer.nl/?p=138 untuk barang berkecepatan sangat tinggi)

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.