RX65Nマイコンには「選択型割り込み」という仕組みがあり、一つの割り込みベクタに複数の割り込み要因が割り当てられているものがある。MTU割り込みなどがこれに割り当たっている。これは従来のRX63Nなどにはなかった仕組みであり、割り込み要因の数が増えすぎたために設けられたのであろう。
下記のアプリケーションノートにその使い方が説明されている。また、詳細は「RX65Nグループ、RX651グループ ユーザーズマニュアル ハードウェア編」の「15. 割り込みコントローラ(ICUB)」に記載されている。
RX65Nの場合、CMT, TMR, TPU, RTC, MTU, CAN, USB, A/Dなど、おもにタイマ系の割り込みが選択型割り込みに割り当てられている。タイマ系は数が多くまた割り込みの種類も多いためだろうか。
例えば、MTU0のTGIA0 (TGRAのインプットキャプチャ/コンペアマッチ)の割り込みは、従来のRX63N等では下記のように設定していた。
MTU0.TIER.BIT.TGIEA = 1 IEN(MTU0, TGIA0) = 1; IPR(MTU0, TGIA0) = 1;
RX65Nでは、MTU0の割り込みは選択型割り込みAに割り当てることになる。例えば割り込みベクタ番号208に割り当てたい場合は下記のように設定する。
MTU0.TIER.BIT.TGIEA = 1; ICU.SLIAR208.BYTE = 1; // MTU0のTGIAの割り込み要因番号 IEN(PERIA, INTA208) = 1; IPR(PERIA, INTA208) = 1;
このように何の割り込みかコードを見ただけではわかりにくいので、適宜コメントを書いておいたほうがよいだろう。