Spresenseの拡張ボードに sakura.ioのArduinoシールドを装着したのですが、2点ほどハマったので、解決方法を書いておきます。
なお、I2Cを使った場合のみで、SPIやUARTの確認はしていません。
sakura.ioのArduinoシールドの電源LEDが点かない
一部のArduinoボードではVINに5Vが出ていないとの情報をいただきました。
VINと5Vをジャンパーで繋ぐことで解決しました。
SakuraIOライブラリが動かない
サンプルを動作させましたが、コネクションができません。ボード上のLEDは1回点滅になっているので、ボードは正常に通信できているようですが、getConnectionStatus()が127を返します。
どうも、Wireライブラリの初期化が行われていない動きです、setup関数中にWire.begin()を入れることで、解決しました。
# include <SakuraIO.h>
//SakuraIO_SPI sakuraio(10);
SakuraIO_I2C sakuraio;
void setup() {
Wire.begin();
Serial.begin(9600);
Serial.print("Waiting to come online");
for(;;){
if( (sakuraio.getConnectionStatus() & 0x80) == 0x80 ) break;
Serial.print(".");
delay(1000);
}
Serial.println("");
}
SakuraIO_I2Cのコンストラクタで、Wire.begin()は呼んでいるようなのですが、うなくいっていないようです。
以上です。