タイマーに関係するレジスタ †
ここではAVRマイコンのデータシートにあわせてタイマーの種類1,2,3を『n』、それぞれのチャンネルを『x』と表記します。
普通に使いそうな所だけ書くので詳しくはデータシートで確認してください。(mega168.pdf P.64から)
TCCR0A, TCCR0B(設定レジスタ) †
ここでは
・タイマーの値によって指定のピンから出力をおこなうか
・上の場合、タイマレジスタがどのような値の時にどのようなタイミングで出力するか
・システムクロックを何分周してカウントするか
などを設定します。
&ref(): File not found: "gazou1.jpg" at page "タイマーに関係するレジスタ";
とまぁいろんなことが設定できるわけですがとりあえず使うであろうパターンをあげておきます。
詳しくはデータシートを!詳しいから!
高速PWMを使いたい! †
TCCR0A = 0b 10 10 00 11;(比較一致でLOW BOTTOMでHIGH)
TCCR0B = 0b 00 00 00 00;(分周なし/8bit高速PWM)
定期的に割り込み †
TCCR0A = 0b 00 00 00 00;(全部0だから書かなくても良い)
TCCR0B = 0b 00 00 00 00;(全部0だから書かなくても良い)
TIMSK0 = 0b 00 00 0x yz;
(x:OCR0B比較一致割り込み許可 y:OCR0A割り込み許可 z:オーバーフロー