SPI(SPIクラス)

2つ以上のマイコンと通信するためのSPI通信をするためのライブラリです。

使用する場合は、#include <SPI.h>を記述してください。

SPIはSerial2と同時に使えません。

begin

概要
初期化します。SCK、MOSI、SSの各ピンは出力に設定され、SCKとMOSIはlowに、SSはhighとなります。
文法
SPI.begin()
パラメータ
なし
戻り値
なし

end

概要
SPIを停止して、ピンをI/Oポートに戻します。
文法
SPI.end()
パラメータ
なし
戻り値
なし

setBitOrder

概要
送受信するビットオーダーを指定します。
文法
SPI.setBitOrder(bitOrder)
パラメータ
bitOrder: ビットオーダー(MSBFIRST、LSBFIRST)。デフォルトはMSBFIRST。
戻り値
なし

setClockDivider

概要
SPIクロックの速度を設定します。
文法
SPI.setClockDivider(divider)
パラメータ
divider: 次のいずれかを指定。16MHzをSPI用のクロックに使用しています。
  SPI_CLOCK_DIV2: 8MHz
  SPI_CLOCK_DIV4: 4MHz
  SPI_CLOCK_DIV8: 2MHz
  SPI_CLOCK_DIV16: 1MHz
  SPI_CLOCK_DIV32: 500kHz
  SPI_CLOCK_DIV64: 250kHz
  SPI_CLOCK_DIV128: 125kHz
戻り値
なし

setDataMode

概要
SPIのデータ取得モードを設定します。
文法
SPI.setDataMode(mode)
パラメータ
mode: 次のいずれかを指定。デフォルトはモード0です。
  SPI_MODE0 : アイドル時のクロックがLow、立ち上がりでサンプリング
  SPI_MODE1 : アイドル時のクロックがLow、立ち下がりでサンプリング
  SPI_MODE2 : アイドル時のクロックがHigh、立ち下がりでサンプリング
  SPI_MODE3 : アイドル時のクロックがHigh、立ち上がりでサンプリング
戻り値
なし

transfer

概要
SPIデータを送受信します。
文法
SPI.transfer(value)
パラメータ
value: 転送するバイトデータ。
戻り値
SPIバスのデータ

サンプルプログラム


#include <Arduino.h>
#include <SPI.h>
void setup(){
    SPI.begin();
}
 
void loop(){
    //write
    SPI.transfer(0x55);
     
    //read
    uint8_t data = SPI.transfer(0xff);
}