[H8-ML(656)] Re: スイッチの立ちあがりを検出したいのですが??
From: WATANABE Mamoru <patata@xxxxxxxxxxxxxxxxxxx>
Date: 2000年06月26日(月)22時44分11秒

はじめまして、ワタナベと申します。

> P8-3にスイッチがあるのですが、そのスイッチの立ち下がりで次の動作に移りたいと
> 思っています。以下のように書いているのですがうまく動きません・・・。
> 良きアドバイスをお願いいたします。
> P8-3はプルアップされていてスイッチが押されると"LOW"になるようになっていま
> す。

スイッチの変化を見るには xor(^) を使うと便利です。

    /* 初期化.*/
    char old_sw = 0x00; /* 前回の状態.*/
    char now_sw = 0x00; /* 現在の状態. 0=OFF,1=ON */
    char push_sw;       /* 0→1に変化した(押された) sw */
    char pull_sw;       /* 1→0に変化した(離された) sw */

以下、繰り返します。
    /* 読取り.*/
    old_sw = now_sw;    /* 前回のデータを控えます.*/
    now_sw = ~(*P8DR);  /* 分り易いように 0と1を反転させときます.*/

    /* 状態変化感知.*/
    push_sw = (old_sw ^ now_sw) & now_sw;
    pull_sw = (old_sw ^ now_sw) & old_sw;

以上です。


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


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


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