今回はUSB HostShield2.0 ライブラリでINTピン(SSピンも同様)を他のピンに変更する方法について、まとめていきたいと思います。
ライブラリの説明でUsbCore.hを書き換えれば良いと書いてあったので、その通りに書き換えてコンパイルしたらエラーを吐いたので、その対処方となります。
使用したUSB HostShield2.0モジュール
www.amazon.co.jp
商品画像では「VBUS jumper」なるジャンパパッドがありますが、私が購入したときはついていませんでした。
場合によってVBUS間を切断しなければならないので
ht-deko.com
こちらのページを参考にパターンをカットしてください。
今回はパターンカットを行ったものを使用しました。
ライブラリはこちら↓ 製作者様に感謝!
github.com
ライブラリのファイルを探す
ライブラリのファイルを直接いじるので、まずは「USB_Host_Shield_Library_2.0」というフォルダを探します。
初期設定の場合は、ドキュメント/Arduino/libraries に入っていると思います。
フォルダが見つかったら開いて「UsbCore.h」と「avrpins.h」を探します。
ない場合はライブラリーを入れ直してください。
ファイルをいじる
最初に変更するのは「UsbCore.h」
52行目のP17をP4に変更して保存します。
#elif defined(ESP32) typedef MAX3421e<P5, P4> MAX3421E; // ESP32 boards
続いて「avrpins.h」
1626行目のPIN(P17, 17)をPIN(P4, 4)
に変更して保存します。
// Pinout for ESP32 dev module MAKE_PIN(P0, 0); MAKE_PIN(P1, 1); // TX0 MAKE_PIN(P10, 10); // TX1 MAKE_PIN(P3, 3); // RX0 MAKE_PIN(P21, 21); // SDA MAKE_PIN(P22, 22); // SCL MAKE_PIN(P19, 19); // MISO MAKE_PIN(P23, 23); // MOSI MAKE_PIN(P18, 18); // SCK MAKE_PIN(P5, 5); // SS MAKE_PIN(P4, 4); // INT
以上。終わりです