[H8-ML(4409)] RE: うーん…
From: "masanobu suzuki" <signas@xxxxxxxxxxxxxxx>
Date: 2004年02月04日(水)17時05分15秒
> 割り込みを使わないプログラムについて、
> >if ( ( PADR && 0x08 ) == 0 ){
> >GRB0 = GRB1; // 計測したパルス幅をPWM出力}
> このif文の条件の意味を説明してもらえますか?PAのDRがど
> のような状態で、かつ0x08の意味は何でしょう?

加速度センサの出力は、ITU1のインプットキャプチャ割り込み端子
 TIOCA-1 (PA-4) ・・立ち上がりエッジでTCNTクリア
 TIOCB-1 (PA-5) ・・立ち下がりエッジでインプットキャプチャ
の両者に入力されていると思います。

そこで、TIOCB-1の立ち下がりエッジ後であれば、測定データ
であるGRB1の値は確定していますから、これを読み取るタイミ
ングとして、TIOCA-1の端子状態がLow(=0)であるかどうかをif文
で判断しているだけです。もちろん、TIOCB-1(PA-5)の状態でも
構いませんし、記述方法は構造体のbit表現でも良いでしょう。

まあ、TIOCA-1の端子状態がLow(=0)の間、ひっきりなしにメイン側
でGRB0を書き換えているので、あまり褒められた方法ではないので
すが応急処置として書きました。

尚、ITUの端子は機能が兼用されていますが、ITUを出力に設定したり
PWMに設定しなければ、普通のI/Oの入力として同時に使えること
を利用したものです。マニュアルでは特にこの使い方は禁止されて
いないようですし、H8の内部ハードウエアブロック図からも問題ない
と思っています。(ちょっと気持ち悪いことは悪いですが・・・)

ところで、動きました? 忙しいでしょうが、吉報をお待ちしています。

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

スレッド概略
[4395(R)](起点)
 └[4406(U)]
   └[表示中]
     ├[4412(1)]
     └[4413(2)]


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


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