Raspberry Pi PicoでI2C/SPI通信

 Raspberry Pi Pico(ラズパイPico)をArduino開発環境からプログラムしてみます。今回はI2C通信とSPI通信の方法です。

 ArduinoIDEを使う場合、基本的な使い方はArduinoと全く同じです。UNO違うところは、I2C/SPI通信ともに2系統あり、使用するピンが割と自由に設定できるというところ。

▼PicoをArduino環境で使う方法はこちら▼

 earlephilhower/arduino picoでは、通信に使用するピンの割り当て関数が準備されてますが、Arduino公式のライブラリ(ボード)では、今のところライブラリの外からピンを変更することができないようです。(2021/5)

 使い方はシリアル通信同様、ほぼArduinoのままいけます。インスタンス化は勝手にされているので

//wire. wire1.
::setSDA(pin)
::setSCL(pin)

//SPI. SPI1.
::setRX(pin);
::setCS(pin);
::setSCK(pin);
::setTX(pin);

▲各々::beginをする前に、ピンアサインを行っておきます。

▼例えばI2C通信で2系統使う場合は、

    Wire.setSDA(0);
    Wire.setSCL(1);
    Wire.begin();
    Wire1.setSDA(2);
    Wire1.setSCL(3);
    Wire1.begin(0x30);

▲それぞれピンアサインしてから.begin()で開始します。

 あとの使い方はIDEであればArduinoと全く同様です。

コメント