On Tue, 26 Oct 2004 17:30:43 +0900
Minoru NODA <tochan@xxxxxxxxxxx> wrote:
>
> という風になり、GRAにHighの時間xx、パルス全体の周期yyが
> 常に入っていることになるのかなと考えた次第です。
> ここの説明だけ見ると、HIの時間だけでなく、GRBには全体の周期まで
> 記録されるように解釈できるのですが。
>
私も、上のように考えてました。
> これだけみるとなんでわざわざ割り込みを使うのかなぁと逆に思いました。
>
なんで割り込みを使ったかというと、先にも書きましたがGRB(全体の周
期?)も取得したかったためです。
プログラム作成中、一時は割込み使わずにやってみようと試してみまし
た。
・TSRのIMFBをチェックしてONならGRAとGRB取得
・TSRのIMFBとIMFAをOFF
ここでふと思いついてTSR.IMFBがONの間はGRBとGRAには値ははいらない
のか?と考えまして、
・TSRのIMFBとIMFAをOFF
という処理をはずしてみました。
が、GRAもGRBも更新されてしまいました。
ということは。
A B C
---|------------------|-----------|
___|~~~~~~|_____|~~~~~|_____|~~~~~|_______|
↑a ↑b
(1)a地点で値をとった場合、GRAは周期BのHIGH GRBはAの全体幅
(2)b地点で値をとった場合、GRAは周期BのHIGH GRBはBの全体幅
ということになり(1)のタイミングで値を取得してしまうと正しいデュー
ティー比が得られないことになります。
で、しょうがなく割り込みを使うことにしたのです。
TSRのIMFA、IMFBをクリアしなくても値が変わってしまうというのが納得
いかなかったのですが、これはそういう仕様なんでしょうか。
それともなにかやり方がまずいのでしょうか。
便乗質問ですみませんが、どなたか教えていただけるとうれしいです。
因みに、割込み使わずに値をとったときもきちんとしたというか正常そ
うな値はとれてました。
のださんのように「乱数とでもいいたくなるような値」ではなかったで
す。傾ければそれらしい値に変化しましたし。
--
naka