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