PIC18F46J50 ECCPのコンペアマッチ・スペシャルイベントトリガでA/D変換がFire!
概要
ECCPのコンペアマッチ・スペシャルイベントトリガを使用すると、 もれなくコンペアマッチのタイミングでA/D変換開始のトリガが発行されるよ!できるだけ正確な時間カウントをしたいと思ったとき、 タイマのオーバフローを使ってもできるっちゃできるんですが、 ・オーバフロー割り込み内でカウント値を再セットする時間 ・割り込み関数内のその他の処理 を考慮しないと、そのときの割り込み状況によって微妙に時間がばらついてしまいます。 で、コンペアマッチのスペシャルイベントトリガを利用すると、コンペアマッチした瞬間に タイマカウンタを自動でクリアしてくれるので、正確な時間間隔で割り込みをかける ことができるようになります。 で、曲者なのがこのスペシャルイベントトリガモード。 スペシャルイベントトリガにはタイマ自動クリアのほかに、A/D変換の 開始トリガ発行機能がついていて、これがなんと設定でマスク(無効化)できない。 # A/D変換のモジュールが使用可能になっていなければ動かないとはあるけど… 常にA/D変換しても大丈夫なシステムなら大して問題はない、 というか積極的にこのタイミングでA/D変換までやってしまえばいいんだろうけど、 特定のタイミングで開始したい場合、このタイミングの前後でコンペアマッチして A/D変換を始められるとちゃんとした値が取れない。