[H8-ML(1140)] Re: 時間を測るには?
From: 廣田 正孝 <mhirota@xxxxxxxxxxxxx>
Date: 2001年06月28日(木)12時07分24秒
  こんにちは。廣田@本庄市です。
Seiji Tsuchida wrote:
> 
> はじめまして H8、C言語(HEW)の初心者(かるび)です。
> スイッチ1,2があり、このスイッチ1,2が押された時間差(どっちが先に
> 押されるか決まっていない)を100uSぐらいの分解能
> で測りたいのですがこの時間差をどのようなフロー(流れ)で手続きをしてど
> のレジスタを使えば知ることができるのでしょうか?
> 環境:C言語、AKI−H8(3048)、スイッチ入力はP5ポートのBi
> t0、1を使用です。
 分解能100usでも1秒でも、汎用入力ポートをソフトで順番に監視していき
その変化を見つけた時の時刻を記録すると言う方法ではどちらが先に押されて
その時間差がいくつであったかを保証出来ません。ソフトには実行時間がある
からです。
たとえば、
 1:bit0を見に行った時、押されていなかった。
 2:bit1を見に行ったら押されていた。
 3:bit0を見にいったら押されていた。
となったとき、1、2、3の間には「処理時間」があるのでbit1が押される前に
bit0が押されていなかったといえないのです。bit0がおされたのが1:、2:
の間であったのか、2:、3:のあいだであったのかが不明ですからbit0,1間の
時間差も不明なのです。 

解決方法としては、やはり、3048Fに内蔵されているITUのインプットキャプチャ
機能を使うのが良いのではないかと思います。
-- 
/******************************************************************************
Name: 廣田 正孝 "Masataka Hirota"
E-mail address:  mhirota@xxxxxxxxxxxxx
******************************************************************************/

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


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


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