[H8-ML(5435)] Re: Cの分岐処理について
From: Junsuke Kunugiza <jk@xxxxxxx>
Date: 2005年02月16日(水)05時30分12秒
椚座です。

On Wed, 16 Feb 2005 00:59:34 +0900
hisa <ahhisa@xxxxxxxxxxxxxxxx> wrote:

> 例えば ピン入力として
> 
> いくつものピン入力に応じて それに対応した処理 の場合
> 
>  ピン1入力あり →  1の処理
>  ピン2入力あり →  2の処理
>  ピン3入力あり →  3の処理

わたしも switch を使うのが綺麗だと思います。

ただ,入力があったときにやるべきことが比較的たくさんある場合は,
case のところに処理内容を書いたりすると,見にくくなるだけです。
なので,それぞれの入力について処理を請け負う関数を用意しておき,
これを呼ぶだけにしておくと,かなりすっきりとします。

また,ピンの状態を調べるのにも何らかの手続きがいるでしょうから,
調べる関数を作っておいて,これを switch のところで呼ぶという
方法もあります。総合すると,

int get_pin(void)
{
  // ピンの状態を読む
}

  switch (get_pin()) {
    case 1:
      pin1_asserted();
      break;
    case 2:
      pin2_asserted();
      break;
    case 3:
      pin3_asserted();
      break;
    default:
      break;
  }



Junsuke Kunugiza, jk@xxxxxxx

スレッド概略
[5433(R)](起点)
 └[表示中]
   └[5450(1)]


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


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