UARTの速度を設定するにはどうすればよいですか?


12

UARTのボーレートをどのように設定する必要がありますか

ボーナス質問:RPiで利用できるボーレートは何ですか?

編集:スティーブの答えを読んで以来、2つのUARTが利用可能であることがわかりました。

ミニUARTは最大32Mbaudで動作しますが、バッファが小さいため、維持するには大量のCPUが必要です。

また、より大きなバッファを備えたより完全な機能を備えたUARTもありますが、その最小/最大速度はまだわかりません。


実行時、別のデバイスとのインターフェース、または起動時にボーレートを設定して、シリアルポート経由でPiにログインできるようにしますか?
悪意のある

@Malvineous、ブート時間は問題ありませんが、ランタイムも便利です。他のデバイスと話すことに興味があります。
ジョンラルーイ

回答:


9

Farnellのクイックスタートガイドによると、デフォルトのボーレートは115200です。UARTの設定と機能に関するかなり詳細な議論は、このブログ投稿「Raspberry Piシリアルポートの詳細」にあります。シリアルポートを使用した具体的な実装の詳細/課題は、ブログ記事「Getting my Raspberry Pi setup for high-speed serial UART communication」に記載されています。

実行しているディストリビューションについては言及していませんが、Debianを実行していると仮定すると、次のようにしてボーレートを設定できます。

Raspberry Piは、コンソールメッセージ(ブートアップメッセージを含む)とgettyにUARTを使用するため、シリアル経由でログインできます。このシリアルポートを独自の用途に使用するには、これらのサービスを無効にする必要があります。

コンソールのボーレートを変更するには、/ boot / cmdline.txtを編集して、115200を目的のボーレートに置き換えます(これはすべて1行です)。

dwc_otg.lpm_enable = 0 console = ttyAMA0,115200 kgdboc = ttyAMA0,115200 console = 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

このスレッドには、任意の(非標準の)ボーレートのソリューションがありますhttps : //stackoverflow.com/questions/12646324/how-to-set-a-custom-baud-rate-on-linux/21960358

最初にPOSIX操作を行い、次にこれをカスタム速度に設定すると、Raspberry Piの組み込みUARTで正常に動作して250kのボーレートを取得します。そのため、POSIX標準レートと同様に、16Mから最大1Mまでの整数係数を使用できます(非常に高速な場合はhttp://fw.hardijzer.nl/?p=138

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.