回答:
この答えはまだ正しいですし、変更の性質をより詳細に説明していますが、現在のRaspbianのほとんどのユーザーは
sudo raspi-config
SelectInterfacing Options / Serial
を実行し、シリアルコンソールが必要かどうかを指定し(おそらくいいえ)、シリアルポートハードウェアを有効にする(おそらく)はい)。次に/dev/serial0
、シリアルポートにアクセスするコードで使用します。
Raspberry Pi3、Pi3B +、Pi3A +、PiZeroWのBCM2837には2つのUARTがあります(以前のバージョンと同様)が、Bluetooth機能をサポートするために、フル機能のPL011 UARTはヘッダーピンからBluetoothチップに移動し、ミニUARTはヘッダーピン8および10
(Pi4のSOCには追加のUARTがありますが、ピン8および10およびBluetoothのデフォルトシリアルにはBCM2837と同じ2つのUARTが使用されます。)
これは、シリアルインターフェイスのユーザーにとって多くの結果をもたらします。
/dev/ttyAMA0
以前UARTにアクセスするために使用されるが、今のBluetoothに接続します。
miniUARTはで利用可能になりました/dev/ttyS0
。
最新のオペレーティングシステムソフトウェアには、Pi3以前のモデルで同じソフトウェアに/dev/serial0
置き換え/dev/ttyAMA0
て/dev/serial0
使用できるように、適切なデバイスを選択するがあります。
残念ながら、他にも多くの結果があります:
The mini UART is a secondary low throughput UART
intended to be used as a console.
The mini Uart has the following features:
• 7 or 8 bit operation.
• 1 start and 1 stop bit.
• No parities.
• Break generation.
• 8 symbols deep FIFOs for receive and transmit.
• SW controlled RTS, SW readable CTS.
• Auto flow control with programmable FIFO level.
• 16550 like registers.
• Baudrate derived from system clock.
パリティのサポートはなく、スループットは制限されますが、後者はほとんどの用途に影響を与えません。
このシステムクロックが動的に変化する可能性があるため、システムが低電力モードや低電力モードになった場合、miniUARTを役に立たなくするキラー機能「システムクロックから派生したボーレート」が1つあります。
を変更する/boot/config.txt
と、最後に次の行が追加され、この依存関係が削除されます。
core_freq=250
これにより問題が修正され、ほとんど影響がないように見えます。SPI clock frequency
そしてARM Timer
また、システムクロックに依存しています。
何らかの奇妙な理由により、最新の4.4.9カーネルを使用するPi3のデフォルトは、UARTを無効にすることです。これを有効にするには、変更する必要がある
enable_uart=1
で/boot/config.txt
。(これにより修正されるcore_freq
ため、これはもう必要ありません。)
最後に、Bluetoothを使用しない場合(または要求の厳しい用途がある場合)、デバイスツリーでポートを交換することができます。ありpi3-miniuart-bt
とpi3-disable-bt
で説明されているモジュールが/boot/overlays/README
。
最終的にこれは私のpi3で動作しました(os:debian jessie)
これらの6つの手順を慎重に実行してください。
手順1-Raspbian JessieをSDカードにインストールし、ネットワークに接続したらPiを起動します端末またはデスクトップおよびシェル経由でログインします。
sudo raspi-config
ファイルシステムを展開し、詳細ページでシリアルを有効にし、終了して再起動します。
ステップ2-jessieの新しいリリースがある場合、これは必要ありません。システムを次のように更新します。
sudo apt-get update
sudo apt-get upgrade
ステップ3-以下のデバイスツリー設定:
デバイスツリーを/boot/config.txtに追加して、Raspberry Pi 3 bluetoothを無効にします。
sudo nano /boot/config.txt
ファイルの最後に追加
* blutoothをminiuartポートに変更する場合(悪い)
dtoverlay=pi3-miniuart-bt
* blutoothを無効にする場合(良好)
dtoverlay=pi3-disable-bt
エディターを終了して、変更を保存します。
ステップ4-piを再起動します
sudo reboot
ステップ5-
a)シリアルコンソールを無効にするには、次を使用してファイルを編集します。
sudo nano /boot/cmdline.txt
フェーズ「console=serial0,115200
」または「console=ttyAMA0,115200
」という単語を削除します
終了して変更を保存します
b)シリアルコンソールを有効にするには、次を使用してファイルを編集します。
sudo nano /boot/cmdline.txt
ファイルを次のように変更します。
dwc_otg.lpm_enable=0 console=tty1 console=serial0(or ttyAMA0),115200 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait
終了して変更を保存します
ステップ6-piを再起動する
sudo reboot
----------------- それだけです、楽しんでください ---------------------------- ---
Naseerの答えは正しいですが、最新のrasbianをフラッシュしただけでは少し手の込んだものになります。必要なのは、config.txtに次の行を追加するだけです(たとえば、fat32パーティションにSDカードを接続するウィンドウから)。
dtoverlay=pi3-disable-bt
次にプラグを差し込むと、piはコンソールピンに直接印刷します。
9600
ます。core_freq=250
ma pythonスクリプトでボーレートを設定してから構成すると、動作するはずです。また、raspberrypi.stackexchange.com / questions / 47379 /…をご覧いただければ幸いです。ありがとうございます!