> 割り込みを使わないプログラムについて、
> >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