[H8-ML(4360)] RE: Message for h8
From: "masanobu suzuki" <signas@xxxxxxxxxxxxxxx>
Date: 2004年01月29日(木)13時40分43秒
> ADXLの出力波形は、120kΩの外付け抵抗をつけていることも
> あり、全体の周期が約1.2msecの周期の矩形波です(もちろん
> デューティー比は50%)。センサを傾けると最高で+−0.2msec
> パルス幅が変化します。なので最大のパルス幅の時間は約0.8
> msecです。

両エッジによる割り込みですから、デューティー50%付近で
約1.2msec/2=0.6msecの割り込み周期になり、これが定常的な
割り込みとなりますから、Cではちょっときつい割り込み頻度になり
ます。まず抵抗値を大きくして、10倍くらいの周期で行って見て下
さい、おそらく期待する波形が出てくるような予感がします。

また石山さんの場合、割り込み処理の中で、

> 「if文によって、エッジが立ち上がりのとき、TCNTをクリア
> し、エッジが立下りのとき、インプットキャプチャ用のITUのGRA
> を変数に代入」

でTCNTをクリアしようとされていますから、間違いではありません
が精度的にもあまり好ましい方法とは言えません。
Cで用意されている割り込み関数は、入り口と出口で全レジスタ
の待避及び復帰をする処理がなされていますし(イエローソフトの
場合)、一番問題なのは割り込み処理が追いつかない場合、
エッジの立ち上がり/立ち下がりの判定が怪しくなってしまう点です。

どうしても、1.2msecの周期で計測をするなら、私の投稿NO.4296
にあるような方法をお勧めします。1chを計測用に使いますが、
TCNTのクリアは自動的にH8のハード側で行いますから、他の
処理の影響を受けません。

鈴木(正)
---
Outgoing mail is certified Virus Free.
Checked by AVG anti-virus system (http://www.grisoft.com).
Version: 6.0.573 / Virus Database: 363 - Release Date: 2004/01/28

スレッド概略
[4293(R)](起点)
 └[4359(U)]
   └[表示中]
     └[4365(1)]


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


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