2016-07-03 16 views
-1

インプットキャプチャのコンセプトを回避するのは難しいです。たとえば、AVRのインプットキャプチャとタイマーを使ってタコメータのPWMを測定する簡単なコードを書く方法....AVRでインプットキャプチャを使用して周波数とデューティを測定する

+0

"コード"ではなく、単に "コード"です。コードは大量名詞であり、不定記事と組み合わせることはできません。 –

答えて

0

インプットキャプチャは単に外部イベントにタイムスタンプを与えているだけです。 PWMの場合、これらのイベントは立ち上がりエッジと立ち下がりエッジです。
有効になると、ATMEGAのタイマーはクロックでインクリメントを開始します。イベントが発生するたびに、その時点のタイマ値がインプットキャプチャレジスタにコピーされ、割り込みが発生します。割り込みサービスルーチンでは、プログラムはこのレジスタを読み込み、デューティサイクルなどを計算するために値を解釈します。
このISRでは、PWMが交互のエッジを持つため、代替エッジを探すためにタイマレジスタを再設定する必要があります。 ATMEGA16Lのレジスタ設定を粗くしていますが、詳細はデータシートに記載されています。

TCCR1B - ビット6は立ち上がり、立ち下がりはリセットされます。

ISR

でTCCR1Bを切り替えるために持っている - ビット5

TIMSK割り込み入力キャプチャを有効にする - - プリスケーラに

TIMSKクロックを設定するために使用0,1,2ビットの計算に必要なインタラプトイネーブルビット0タイマオーバフローを

関連する問題