ESP32のI2Cペリフェラルをスレーブとして動作させるサンプルです。
- Arduino ESP32
- ESP-IDF
- ESP32
- ESP32-S2
- ESP32-C3
デバイス内に256個の8bitレジスタを持つI2Cスレーブの動作を実装しています。
I2Cアドレスはソースコード内で変更できます。デフォルトで 0x11 です。
I2Cのスレーブアドレスに続く最初の1バイトはレジスタ番号として扱います。
以後のデータはレジスタに書込む値として扱い、以後I2C通信のストップまでに連続して受信したデータは、レジスタ番号をインクリメントしながら代入します。
最初のデータ 0xDE をレジスタ番号として扱い、以下のように代入します。
reg[0xDE] = 0xAD;
reg[0xDF] = 0xBE;
reg[0xE0] = 0xEF;