のだです。
naka様、わさびぃ様 どうもおつきあいいただきありがとうございます。
H8/300Hのハードウェアマニュアルの10-43ページの
図10.24に基づいてちょっと確認させてください。
ここにある説明では、
TIOCAとTIOCBには別々の矩形波が入っており、
TIOCAのインプットキャプチャ入力エッジは立ち上がり/立ち下がり両エッジ
TIOCBのインプットキャプチャ入力エッジは立ち下がりエッジ
TCNTはGRBのインプットキャプチャでカウンタクリア
TCNT 0 5 150 180
TCNT 0 5
____________________
TIOCB |_____________| |______________
___________________ ______
TIOCA ________| |______________|
GRA | 5 | 150 |
GRB | 180
という絵になっています。
で、
TIOCAの立ち上がりでGRAにTCNTが入力、
TIOCAの立ち下がりでGRAにTCNTが入力、
TIOCBの立ち下がりでGRBにTCNTが入力、TCNTがクリア
ということになっています。
そこで、TIOCAとTIOCBを同じ矩形波として、
GRAのインプットキャプチャ入力エッジを立ち下がり、
GRBのインプットキャプチャ入力エッジも立ち上がり、
GRBのインプットキャプチャでカウンタクリア
とすれば、
TCNT 0 xx yy
TCNT 0
____________________ _____________
TIOCB | |______________|
____________________ _____________
TIOCA | |______________|
GRA | xx
GRB | yy
という風になり、GRAにHighの時間xx、パルス全体の周期yyが
常に入っていることになるのかなと考えた次第です。
ここの説明だけ見ると、HIの時間だけでなく、GRBには全体の周期まで
記録されるように解釈できるのですが。
これだけみるとなんでわざわざ割り込みを使うのかなぁと逆に思いました。