jin-tonic の回答履歴
- H8SX/1655のタイマー割り込みについて教えてください。
H8SX/1655のタイマー割り込みについて教えてください。 CQ出版の『今すぐ使える!H8マイコン基板』の基板の動作確認として、 基板上のLEDをタイマー割り込みで点滅させようとしたのですが動作しません。 HEWの設定上の問題と思いますが、思い当たるところがあれば教えてください。 HEW:Version 4.06.00.047 "iodefine.h"は自動生成されたものです。 ---HEWのコード #include <machine.h> #include "iodefine.h" unsigned long cnt0; // wait関数用 //割込み関数 #pragma interrupt( int_timer0 ) void int_timer0( void ) { TPU0.TSR.BIT.TGFA= 0; // フラグクリア cnt0++; } void wait( unsigned long wait_set ) { cnt0 = 0; while( cnt0 < wait_set ); } void main(void) { MSTP.CRA.BIT._TPUL =0; // 低消費電力モード解除 //タイマー設定 TPU0.TCR.BYTE = 0x23; //φ/64 TPU0.TIER.BIT.TGIEA = 1; TPU0.TGRA = 375; // 1/375 TPU.TSTR.BYTE = 0x01; // Timer Start //ポート設定 PM.DDR = 0x08; // LED Output port //割り込み許可 set_imask_ccr(0); while(1) { wait( 500 ); PM.DR.BIT.B3 = 1; wait( 500 ); PM.DR.BIT.B3 = 0; } } //intprg.c // vector 88 TGI0A TPU0 //__interrupt(vect=88) void INT_TGI0A_TPU0(void){/* sleep(); */} __interrupt(vect=88) void INT_TGI0A_TPU0(void){int_timer0(); }