Renesas Synergy™

FAQ 1006512 : CC78K0で割り込みを使うにはどうすればいいですか。具体的な例を示してください。

上記のタイマH1の割り込みを使う場合について示します。ただし、ここではタイマH1の設定そのものは省略して割り込みに関係した部分だけを説明します。
割り込みを使用するにはプログラムの頭の部分でそのための宣言を行う必要があります。通常は以下のような宣言となります。この2行目と3行目は割り込みを 使う場合には必須となる割り込みの受け付けの許可や禁止を行う命令を使用可能にするための宣言です。この4行目が割り込みの宣言です。#pragma interruptの部分が割り込み関係の宣言であることを示しています。次のINTTMH1の部分はタイマH1の割り込みに関する宣言であることを示し、fn_intTimerIntervalの部分はINTTMH1の割り込みが発生したときに、実際に起動する割り込み処理関数の名前を示しています。

#pragma   sfr
#pragma   ei
#pragma   di
#pragma   interrupt INTTMH1 fn_intTimerInterval


その上で、割り込み処理関数の本体部分は以下のように記述します。

__interrupt void fn_intTimerInterval(void){
 
ここに割り込みの中で実行する処理を記述します
 
}


これで、割り込み処理そのものの記述はおしまいです。あとは、メイン関数の中でタイマH1を起動した後に以下のように記述することで割り込み受け付けの準備は完了です。

TMIFH1 = 0;   /* 割り込み要求フラグをクリア */
TMMKH1 = 0;   /* 割り込みマスクの解除 */
ei();   /* 割り込み受付許可 */
他にご質問がございましたら、リクエストを送信してください