NOBのArduino日記!

NOBのArduino日記!

趣味は車・バイク・自転車・ラジコン・電子工作です。

Arduino IDE(SPI: transfer関数の使い方)

■SPI: transfer関数
 SPI: transfer関数によるSPI転送は、同時送信と受信に基づいて行われます。
 受信データはreceivedVal(またはreceivedVal16)に返されます。
 バッファ転送の場合、受信したデータはバッファ内の現在の位置に格納されます。
※古いデータは受信したデータに置き換えられます

■使用例
  ArduinoIDEで使用するSPI: transfer関数の使い方は以下の通りです。
 試しにこのプログラムをArduinoUNOで実行すると、最初にSPI.begin関数でSPI通信を初期化します。
 次にSPI.transfer関数で「0x55」を出力し、SPI.transfer関数で「0xff」SPIバスでデータを取得します。

#include <SPI.h>
void setup() {
   SPI.begin();
}

void loop() {
   //write
   SPI.transfer(0x55);
   //read
   uint8_t data = SPI.transfer(0xff);
}
イメージ 1
図1:プログラム例

■構文
 receivedVal = SPI.transfer(val)
 receivedVal16 = SPI.transfer16(val16)
 SPI.transfer(buffer, size)

■パラメータ
 val  :バスを介して送信するバイト
 val16 :バスを介して送出する2バイトの変数
 buffer:転送されるデータの配列

■戻り値
 受信したデータ 

イメージ 1 イメージ 3
励みになりますのでよければクリック下さい(^o^)/

↩【ArduinoIDE reference】目次に戻る