Arduinoの開発環境にボードデータを追加することで、ATMEL AVRと同じ感覚で開発が可能。
こちらが公式な開発環境。
昔ながらのLinuxを知っている人なら入りやすい。
>make config, make all と、コマンドライン操作でビルドする。
ESP32はIO-0からIO-15が外部割り込みのピンに使用できるという情報があるが、実際に実験してみるとこの制限によらないみたいだ。
ほぼすべてのデジタルピンが割り込みに使えるように見える。
公式に使用できるIOピンは不明。
attachInterrupt(割り込み番号, 呼び出す関数, ピン状態)
ピン状態は次の種類がある~
attachInterrupt(digitalPinToInterrupt(ENC_A), ENC_READ, CHANGE); attachInterrupt(digitalPinToInterrupt(ENC_B), ENC_READ, CHANGE);
ENC_AはデジタルピンのIO番号。ここに繋いだスイッチの変化で割り込みを発生させる。
ENC_READは割り込みが入ったときに実行したい関数名。
CHANGEはピンに変化したときに割り込みを発生させる指定。
これはロータリーエンコーダーを読み込むときの例で、ENC_A(A相)またはENC_B(B相)が変化したときに割り込みが発生し、ENC_READ関数を呼ぶ動作を設定している。