dポイントプレゼントキャンペーン実施中!

PICを用いてC言語のプログラムを作成しているのですが、センサの反応によってピン(a4)に入力が入った回数をカウントしたいのですが、反応している間ずっとカウントをしています。1度の反応ではカウントする数を1にしたいのですが、どうしたらいいのでしょうか。

A 回答 (3件)

>センサの反応によってピン(a4)に入力が入った回数をカウントしたいのですが、反応している間ずっとカウントをしています。



もしかして1回のセンサーの反応で任意の時間、複数のパルス信号が発せられるようなもの?
もしそうであれば、(PIC初心者ということで)割り込みなどを使わずにセンサーの反応特性に応じた「待ち時間」をプログラムに加えると良いのでは?
プログラムスキルが十分でない場合は、センサー回路に、信号コンパレータ回路をハード的につくるという手もありそうな。
    • good
    • 0

センサONエッジで割り込みが可能かどうか、ISRをどう実装するのかなどはPICの仕様や利用している言語・コンパイラに大きく依存します。


従って「一般的にこれ」という例は存在しませんし肝心のPICの情報がない状態では何も答えようがありません。

あえて言うなら「PICの説明書をよく読みましょう」ってくらいです。
    • good
    • 0

センサOFF→ONのタイミングで割り込みができるなら、それを使うのがベストの手段です。


できなければフラグを使って「一度センサ入力をカウントしたらセンサの反応が消えたことを検出するまでカウントしない」という処理にします。
ただ、これは非常に細かいON/OFFには対応できない誤差が出るやり方になります。
    • good
    • 0
この回答へのお礼

ありがとうございます。

ON/OFFが細かくなるので、割り込みを使いたいのですが、センサOFF→ONのタイミングで割り込みをするにはどうしたらいいのでしょうか。

申し訳ないですが、簡単なプログラム例もあると非常に助かります。
よろしくお願いします。

お礼日時:2008/11/14 17:51

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!