もよいめも

不定期更新ものづくりブログ



【ESP32】USB host shield 2.0 ライブラでINTピンの番号を変えたい!

今回はUSB HostShield2.0 ライブラリでINTピン(SSピンも同様)を他のピンに変更する方法について、まとめていきたいと思います。

ライブラリの説明でUsbCore.hを書き換えれば良いと書いてあったので、その通りに書き換えてコンパイルしたらエラーを吐いたので、その対処方となります。

使用したUSB HostShield2.0モジュール
www.amazon.co.jp
https://m.media-amazon.com/images/I/61ur80-oEyL._AC_SL1000_.jpg
商品画像では「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

以上。終わりです