UARTのボーレートをどのように設定する必要がありますか
ボーナス質問:RPiで利用できるボーレートは何ですか?
編集:スティーブの答えを読んで以来、2つのUARTが利用可能であることがわかりました。
ミニUARTは最大32Mbaudで動作しますが、バッファが小さいため、維持するには大量のCPUが必要です。
また、より大きなバッファを備えたより完全な機能を備えたUARTもありますが、その最小/最大速度はまだわかりません。
UARTのボーレートをどのように設定する必要がありますか
ボーナス質問:RPiで利用できるボーレートは何ですか?
編集:スティーブの答えを読んで以来、2つのUARTが利用可能であることがわかりました。
ミニUARTは最大32Mbaudで動作しますが、バッファが小さいため、維持するには大量のCPUが必要です。
また、より大きなバッファを備えたより完全な機能を備えたUARTもありますが、その最小/最大速度はまだわかりません。
回答:
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
このスレッドには、任意の(非標準の)ボーレートのソリューションがあります: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)