なぜか反応が少ないのですね。 廣田さんwrote: > 解決方法としては、やはり、3048Fに内蔵されているITUのインプットキャプチャ > 機能を使うのが良いのではないかと思います。 基本的にはそうですね。こういう用途のためにあるのですから。 でも時間差が最大いくらになるのか示されていませんでしたね。 チャタリングは心配しなくてもいいのかな? 重箱の隅モードですが、 > 分解能100usでも1秒でも、汎用入力ポートをソフトで順番に監視していき > その変化を見つけた時の時刻を記録すると言う方法ではどちらが先に押されて > その時間差がいくつであったかを保証出来ません。ソフトには実行時間がある > からです。 そういうことも言えなくはないですが、 ソフト処理オーバヘッドによる計測時間誤差 << 所望の分解能 なら許容してもいいのでは? > たとえば、 > 1:bit0を見に行った時、押されていなかった。 > 2:bit1を見に行ったら押されていた。 > 3:bit0を見にいったら押されていた。 > となったとき、1、2、3の間には「処理時間」があるのでbit1が押される前に > bit0が押されていなかったといえないのです。bit0がおされたのが1:、2: > の間であったのか、2:、3:のあいだであったのかが不明ですからbit0,1間の > 時間差も不明なのです。 bit0 と bit1 が同じタイミングでキャプチャできれば、判定に時間差が あってもいいですよね? つまりビット単位で順番に bit test しないで、 ポート単位で一気に読み込んで判定すればいいでしょう? -- 三谷