Як я можу встановити швидкість UART?


12

Як слід встановити швидкість передачі даних UART

Питання про бонус: Які ставки передачі доступні в RPI?

Редагувати : Почитавши відповідь Стіва, я виявив, що є два UART.

Міні-UART може працювати до 32 Мбауд, але має невеликий буфер, і тому буде потрібно багато процесора, щоб не відставати.

Є також більш повнофункціональний UART з більшими буферами, я ще не знайшов мінімальної / максимальної швидкості для нього.


Ви хочете встановити швидкість передачі даних на час виконання, взаємодіяти з іншим пристроєм або під час завантаження, щоб ви могли увійти в Pi через його послідовний порт?
Malvineous

@Malvineous, час завантаження нормально, але час виконання також корисний. Мені цікаво спілкуватися з іншими пристроями.
Джон Ла Рой

Відповіді:


9

Згідно з Керівництвом для швидкого початку Farnell , швидкість передачі даних за замовчуванням становить: 115200 . Досить детальне обговорення налаштувань та можливостей UART можна знайти в цій публікації в блозі Детальніше про послідовні порти Raspberry Pi . Більш конкретні деталі впровадження / проблеми роботи з послідовним портом можна знайти в дописі блогу Налаштування мого Raspberry Pi для високошвидкісного послідовного зв'язку UART .

Ви не згадуєте, який дистрибутив використовуєте, але припускаючи, що ви працюєте з Debian, ви можете встановити швидкість передачі даних, виконавши наступне:

Зверніть увагу, що Raspberry Pi використовує UART для повідомлень консолі (включаючи повідомлення завантаження) та getty, щоб ви могли увійти через серійний доступ. Щоб використовувати цей послідовний порт для власних цілей, вам потрібно буде відключити ці служби.

Щоб змінити швидкість передачі консолі, відредагуйте /boot/cmdline.txt, посилаючись на 115200, з потрібною швидкістю передачі (зауважте, що це один рядок).

dwc_otg.lpm_enable = 0 консоль = ttyAMA0,115200 kgdboc = ttyAMA0,115200 консоль = tty1 root = / dev / mmcblk0p2 rootfstype = ext4 rootwait

потім відредагуйте / etc / inittab, щоб змінити бодурат Getty (ви повинні знайти такий рядок, як наступний, з бодуратом 115200, змінити його на бажану швидкість передачі)

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

і, не забудьте спостерігати за напругою контактів, щоб уникнути пошкодження Pi.

Додаткові довідки:

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


3

Цей потік має рішення для довільної (нестандартної) швидкості передачі даних: /programming/12646324/how-to-set-a-custom-baud-rate-on-linux/21960358

Спочатку виконайте маніпуляції POSIX, потім це встановлення користувальницької швидкості, прекрасно працює на вбудованому UART Raspberry Pi, щоб отримати швидкість передачі в 250k. Таким чином, як і стандартні тарифи POSIX, ви можете мати майже будь-який цілий коефіцієнт 16 М, щонайменше до 1 М ( http://fw.hardijzer.nl/?p=138 для дуже швидкої роботи)

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.