ひやしたです。 >> ポーリングというのは、たとえば、割り込み動作をしているとき、 >> 割り込み処理後にそのフラグをセットしてやり、(bt_int_set = TRUEとか) >> メインでは無限ループ内部でたとえば、 >>... >> のような方法を指しているのでしょうか? わたしはこんな意味の事をいいましたです。(3048/20MHzの場合) /************************************************************************* 初期化 **************************************************************************/ void init_itu() { ITU1.TCR = 0x23; /* clear GRA comparematch,1/8clock */ ITU1.TIOR = 0x00 ; /* No use ITU pins */ ITU1.TIER = 0x00 ; /* No use interrupt */ } /************************************************************************* t はマイクロ秒(1〜32767) **************************************************************************/ void stimer(short t) { ITU.TSTR &= ~0x02; /* タイマー停止 */ ITU1.TSR &= ~0x01; /* IMFAフラグクリア */ ITU1.TCNT = 0; /* カウンタクリア */ ITU1.GRA = (t * 2 -1) ; /* 62.5ns * 8 = 500nsec */ ITU.TSTR |= 0x02; /* カウント開始 */ } #define countup() ((ITU1.TSR & 0x01)? 1 : 0) void delay(int duration) { stimer(duration); while( ! countup()); } ※かなり省略してコピペしたので大歩危が有るかもしれません。