GR-SAKURAでIRQ

GR-SAKURA(というかRXduino)では、外部割り込みIRQ0〜IRQ7の処理はライブラリの中に隠蔽されていて、ライブラリ関数を用いて割り込み処理関数を登録するんですね。そして、IRQ0〜IRQ7はポートP10〜P17に割り当てられています。TQFP100ピンにはP10とP11は存在しないので、GR-SAKURAで利用できるのは、IRQ2〜IRQ7(P12〜P17)です。これらのピンはArduino互換コネクタにはなく、拡張コネクタCN10にあります。


毎度思うことですが、隠蔽されたライブラリの中でどのようなリソースがどう使われているか不透明なうえに、都合が悪くてもいじれない(orいじりにくい)のが、GR-SAKURAのモヤっとするところですね。まあ、本来は商用であるRXduinoライブラリおよび特電HALライブラリを特別に無償で使わせてもらってるわけなので、文句を言うのは筋違いなのは承知してますけど。


それはさておき、FM音源チップYM2203の~IRQを、GR-SAKURAのIRQ5(P15)に接続して割り込み処理をするひな形を作成しました。P15の立ち下がりで割り込みがかかることは動作確認OKです。

#include "rxduino.h"

/**
 * YM2203のIRQ割り込み処理
 */
void YM2203_irqHandler(void)
{
    ; // TODO ここに処理を書く
}

/**
 * 初期設定
 */
void setup()
{
    // IRQ5(P15)の立ち下がりエッジ割り込みにハンドラを登録
    attachInterrupt(5, YM2203_irqHandler, FALLING);
}