■SPI: setDataMode関数
SPI: setDataMode関数は、SPISettings関数とSPI.beginTransaction関数にSPIパラメータとして、SPIデータモードのクロック極性と位相※1を設定します。 デフォルトは「SPI_MODE0」で、アイドル時のクロックがLow、立ち上がりでサンプリングします。
■使用例
ArduinoIDEで使用するSPI: setDataMode関数の使い方は以下の通りです。
試しにこのプログラムをArduinoUNOで実行すると、最初にSPI.begin関数でSPI通信を初期化し、SPI: setDataMode関数でアイドル時のクロックがLow、立ち下がりでサンプリングする様に設定します。
次にSPI.transfer関数で「0x55」を出力し、SPI.transfer関数で「0xff」SPIバスでデータを取得します。
#include <SPI.h> void setup() { SPI.begin(); SPI.setDataMode(SPI_MODE1); } void loop() { //write SPI.transfer(0x55); //read uint8_t data = SPI.transfer(0xff); }
■構文
SPI.setDataMode(mode)
■パラメータ
∟AVRボード
∟mode
∟SPI_MODE0(アイドル時のクロックがLow、立ち上がりでサンプリング)
∟SPI_MODE1(アイドル時のクロックがLow、立ち下がりでサンプリング)
∟SPI_MODE2(アイドル時のクロックがHigh、立ち上がりでサンプリング)
∟SPI_MODE3(アイドル時のクロックがHigh、立ち下がりでサンプリング)
∟Arduino Due
∟slaveSelectPin:スレーブデバイスSSピン
■戻り値
有りません。
■補足
この関数は新しいプロジェクトでは使用しない様に推奨されています。