意外と載ってないTPU割り込みの設定方法。

最低限何すればいいのか?
初心者用です。


TPU0に設定するとして。
タイマー割り込みを一定間隔でコールする場合。

●hwsetup.c  HardwareSetup()内で。

INTC.IPRF.BIT._TPU0 = 5;

*********************

MSTPCR.BIT._TPU = 0;
TPU.TSYR.BIT.SYNC0 = 0;
TPU0.TMDR.BYTEACCESS= 0;
TPU0.TIOR.WORD = 0;
TPU0.TCNT = 0;
TPU0.TCR.BYTEACCESS = 0x20;
TPU0.TIER.BIT.TGIEA = 1;
TPU0.TGRA = 37500-1;
TPU.TSTR.BIT.CST0 = 1;


●intprg.c

// vector 40 TGI0A TPU0
__interrupt(vect=40) void INT_TGI0A_TPU0(void) {
Tpu0Handler();
}


●任意のソース  Tpu0Handler()を定義

void Tpu0Handler(void)
{
TPU0.TSR.BIT.TGFA = 0; //コンペアマッチフラグクリア

タイマー割り込みで実行させたい処理を記述

set_imask_exr(0); //割り込み許可

}