基本ライブラリ
デジタルIO
アナログIO
拡張IO
時間
数学
三角関数
乱数
ビットバイト操作
割り込み
シリアル通信
標準ライブラリ
サーボモーター
ステッピングモーター
キャラクタ液晶表示
EEPROM
SPI通信
I2C通信(Wire)
メモリカード
メモリカード(File操作)
Ethernet
Ethernetサーバー
Ethernetクライアント
Firmata
周期処理
省電力
時計(RTC)
SoftwareSerial
ユーティリティ
SPI(SPIクラス)
2つ以上のマイコンと通信するためのSPI通信をするためのライブラリです。使用する場合は、#include <SPI.h>
を記述してください。
SPIは2チャネルあり、SPI2(ピン 27, 28, 29, 30)を使用する場合は、オブジェクト名としてSPI2を指定してください。注意として、SPI2を使用時はUSB通信用のSerialが使用できなくなります。
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);
}