Arduino日本語リファレンス



Arduino Uno(ATmega168/328を搭載するボード): 10(SS)、11(MOSI)、12(MISO)、13(SCK)
Arduino Leonardo: ICSP4(MOSI)、ICSP1(MISO)、ICSP3(SCK)
Arduino Mega: 50(MISO)、51(MOSI)、52(SCK)、53(SS)

SSピンは使わない場合でも出力状態のままにしておく必要があります。そうしないと、SPIインタフェイスがスレーブモードに移行し、ライブラリが動作しなくなります。

10番以外のピンをスレーブ選択(SS)ピンとして使うことができます。たとえば、Ethernet shieldはピン4をオンボードのSDカードの制御に使い、ピン10をEthernetコントローラに割り当てています。

【例】

・BarometricPressureSensor: SPIを使って気圧と温度を読み取ります
 http://arduino.cc/en/Tutorial/BarometricPressureSensor

・SPIDigitalPot: デジタルポテンショメータを使う例です
 http://arduino.cc/en/Tutorial/SPIDigitalPot

【補足】

SPIの初期化をSPISettingsとSPI.beginTransactionを使って行う新しい方法があります。使用例は次のとおりです。

SPI.beginTransaction( SPISettings(14000000, MSBFIRST, SPI_MODE0) );

この方法はパラメータの設定が一度で済むため可読性が良好ですが、従来式のひとつひとつ個別の関数で設定する方法を示している作例もまだ多いので、ここでは個別に解説します。



[目次へ戻る]

Creative Commons Attribution-ShareAlike 3.0 License.
このドキュメントはArduino Teamにより執筆され、Takumi Funadaが翻訳し、一部加筆修正したものです
ご意見はtf at musashinodenpa.comまでお送りください [ドキュメント一覧]