[H8-ML(2598)] Re: ポーリング
From: "Masanobu Suzuki" <signas@xxxxxxxxxxxxxxx>
Date: 2002年12月26日(木)00時14分49秒
> わさびぃ さん。
>
> ポーリングというのは、たとえば、割り込み動作をしているとき、
> 割り込み処理後にそのフラグをセットしてやり、(bt_int_set = TRUEとか)
> メインでは無限ループ内部でたとえば、
(略)

一般にポーリングというのは、例えばRS232Cの送信(または受信)を例に
とると、割り込みを使わずに1文字送信(または受信)する場合、
ラウンドロビンなどの繰り返しループの中で、SCIのステータスレジスタSSR
を繰り返し読みこんで、送信ならばSSRのTDRE、受信ならばRDRFビットを
が1になっているかどうかをチェックし必要な処理をします。

但し、割り込みを使わない場合、他の処理でこのステータスのチェックが遅
れると、特に受信の場合はデータの受け取りが間に合わず受信オーバーラン
を起こしてきちんと読み取れない場合があるため伝送速度は速くできません。

このようにポーリングは、通常そのステータスチェックをループの中で行う必要
があるので、応答性が悪く全体からみると無駄な処理が多くなるので必要最小
限に抑える方が賢明です。
普通は、どのレジスタも殆ど割り込みを前提にして構成されていますから、
割り込み処理を中心にプログラムを考えていくべきかと思います。

但し、デバッグ段階でどうしてもその割り込みを禁止した状態で動作確認する
場合は、ポーリングによってステップ動作的なことをさせる場合は良くあります。
ご参考になれば。

鈴木

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


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


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