基本ライブラリ
デジタルIO
アナログIO
拡張IO
時間
数学
三角関数
乱数
ビットバイト操作
割り込み
シリアル通信
標準ライブラリ
Ethernet
Ethernetサーバー
Ethernetクライアント
サーボモーター
ステッピングモーター
キャラクタ液晶表示
EEPROM
SPI通信
I2C通信(Wire)
メモリカード
メモリカード(File操作)
画像処理
周期処理
時計(RTC)
ユーティリティ
SPI
2つ以上のマイコンと通信するためのSPI通信をするためのライブラリです。使用する場合は、#include <spi.h>
を記述してください。
SPISettings
- 概要
- それぞれのSPIデバイスに対して一度だけ初期化できます。
- 文法
- SPISettings mySettting(speed, dataOrder, datamode).
- パラメータ
- speed: 通信速度
dataOrder: MSBFIRST or LSBFIRST
dataMode: SPI_MODE0, SPI_MODE1, SPI_MODE2, or SPI_MODE3 - 戻り値
- なし
begin
- 概要
- SPIバスを初期化し、SCK、MOSI、SSを出力にして、SCKとMOSIはlowに、SSはhighします.
- 文法
- SPI.begin()
- パラメータ
- なし
- 戻り値
- なし
end
- 概要
- SPIを停止して、ピンをI/Oポートに戻します。
- 文法
- SPI.end()
- パラメータ
- なし
- 戻り値
- なし
beginTransaction()
- 概要
- SPISettingsで定義されたSPIバスを使用するように初期化します。
- 文法
- SPI.beginTransaction(mySettings)
- パラメータ
- mySettings: SPISettingsでの設定を選択.
- 戻り値
- なし
endTransaction()
- 概要
- SPIバスの使用を停止します。他のライブラリでSPIバスを使用できるようにチップセレクトをインアクティブにしてコールします。
- 文法
- SPI.endTransaction()
- パラメータ
- なし
- 戻り値
- なし
setBitOrder
- 概要
- 送受信するビットオーダーを指定します。
- 文法
- SPI.setBitOrder(bitOrder)
- パラメータ
- bitOrder: ビットオーダー(MSBFIRST、LSBFIRST)。デフォルトはMSBFIRST。
- 戻り値
- なし
setClockDivider
- 概要
- SPIクロックの速度を設定します。
- 文法
- SPI.setClockDivider(divider)
- パラメータ
- divider: 次のいずれかを指定。
SPI_CLOCK_DIV2: 24MHz
SPI_CLOCK_DIV4: 12MHz
SPI_CLOCK_DIV8: 6MHz
SPI_CLOCK_DIV16: 3MHz (default)
SPI_CLOCK_DIV32: 1.5MHz
SPI_CLOCK_DIV64: 750kHz
SPI_CLOCK_DIV128: 375kHz - 戻り値
- なし
setDataMode
- 概要
- SPIのデータ取得モードを設定します。
- 文法
- SPI.setDataMode(mode)
- パラメータ
- mode: 次のいずれかを指定。デフォルトはモード0。
SPI_MODE0 : アイドル時のクロックがLow、立ち上がりでサンプリング(default)
SPI_MODE1 : アイドル時のクロックがLow、立ち下がりでサンプリング
SPI_MODE2 : アイドル時のクロックがHigh、立ち上がりでサンプリング
SPI_MODE3 : アイドル時のクロックがHigh、立ち下がりでサンプリング - 戻り値
- なし
transfer
- 概要
- SPIデータを送受信します。
- 文法
- SPI.transfer(value)
- パラメータ
- value: 1バイトのデータ。
- 戻り値
- SPIバスで取得されたデータ
サンプルプログラム
#include <Arduino.h>
#include <spi.h>
void setup(){
SPI.begin();
}
void loop(){
//write
SPI.transfer(0x55);
//read
uint8_t data = SPI.transfer(0xff);
}