naka様 のだです。 On 2004/10/26, at 13:32, naka wrote: >> 説明が見られたのですが、解釈を間違えているでしょうか? >> > そのとおりです。ごめんなさい。 > 私の >> >>> while(!ITU1.TSR.BIT.IMFA); >>>> counterx=(ITU1.GRA); >>> ITU1.TSR.BIT.IMFA = 0; >>> >>> (ITU2についても同様) >>> >>> が必要では? > > は的外れな発言でした。 > 混乱させてごめんなさい。 いえいえ。コメントいただけたことに感謝しております。 webで調べた範囲では、今回相談させていただいたような パルス幅のカウントには割り込みを使うのが一般的なようなので、 割り込みを使っていると解釈されても仕方がないかと・・・。 >> ITU2.GRAの方はでたらめな値となってしまいます。 > > これはオシロスコープで見た値と比べてでたらめな値ということですよ > ね? > Gセンサが傾いてるから、なんてことはないですよね。 はい。念のためオシロスコープでADXLの出力をモニタしながら 試しています。 つい先ほど気づいたのですが、 最初のITU1.GRAの値は正常と書きましたが、X軸出力にもY軸出力にも 反応してしまっているような感じです。つまりは正しくない? ITU1.GRAの値は0x1000前後で、φ/8でカウントしているので、 概ね2msということで正常と判断していたのですが・・・。 ITU2.GRAに至っては乱数?とでも言いたくなるようなバラバラな 出力になってしまいます。 > ちょうど今私も同じようなプログラムを組んでいるのですが、私の場合 > はGRBインプットキャプチャ割り込みでGRBとGRAの値を取得&保存し、別 > の100ミリ秒タイマで保存してある値からデューティー比を出してます。 > ADXL202は湿度だか温度だかでパルス幅が変化するし個体差がかなりある > のでいちいち計算したほうがいいと言われました。 > あと、パルス幅を10mSecにすると不安定になるとかで1ミリ秒の設定で取 > 得してます。実際に測ってみると、800μ秒くらいのパルス幅でした。 ちなみにnaka様の場合は2軸同時に取り込まれているのでしょうか? やはり他のプログラム例でも示されているように割り込みを 使うことが一般的なのでしょうか・・・。 パルス幅を測るという目的に限れば、割り込みはいらないように見えたのですが・・・。 > これまた的外れな話題かも知れません。 > お役に立てずすみません。 いえいえ、ぜひnaka様のとられている方法も詳しく教えてください。