Back to tech

BLE nano(nRF51822)のSPI通信の引っかかりポイント

1 min read
Table of Contents
developer.mbed.org
developer.mbed.org

エラー原因を探るとSPIの通信ができないとのエラー。

「SPI.hはインクルードできているのになぜ?」と思い、色々調べたらわかったので記述します。

結論から言うと、BLEnano問わず、nRF51822はSPI.hではなく、SPI_Master.hをインクルードするということでした。

SPI.hと少し仕様が異なるため注意

サンプルプログラム

#include <SPI_Master.h>

void setup() {
  // put your setup code here, to run once:
  SPI_Master.begin();
  
  SPI_Master.setFrequency(SPI_500K);
  
  SPI_Master.setBitORDER(MSBFIRST);
  
  SPI_Master.setSPIMode(SPI_MODE0);
}

void loop() {
  // put your main code here, to run repeatedly:
  SPI_Master.transfer(0x00);

}

9軸慣性計測ユニットのライブラリを書き換えて無事に値を取得することができました。

参考文献