[H8-ML(2600)] Re: ポーリング
From: "Hirashita" <iced@xxxxxxxxxxxxxxx>
Date: 2002年12月26日(木)09時06分17秒
ひやしたです。

>> ポーリングというのは、たとえば、割り込み動作をしているとき、
>> 割り込み処理後にそのフラグをセットしてやり、(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());
}

※かなり省略してコピペしたので大歩危が有るかもしれません。

スレッド概略
[2591(R)](起点)
 └[2599(U)]
   └[表示中]
     └[2608(1)]


投稿順に移動
[←前の記事へ(P)]
[→次の記事へ(N)]


リスト表示へ
[このスレッド(T)]
[本記事の前後(L)]