Procedure

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

Procedure
この記事は約2分で読めます。
スポンサーリンク

BLE nanoでスイッチサイエンスから発売されている9軸慣性計測ユニット使いたいと思い、簡単に9軸慣性計測ユニットを使えるライブラリをインポートしたらエラーがでた。

エラー原因を探ると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軸慣性計測ユニットのライブラリを書き換えて無事に値を取得することができました。

 

スポンサーリンク

参考文献

コメント

タイトルとURLをコピーしました