PWM

AVR からの PWM 出力もなんとかできるようになりました。データシートによると、精度を出すには phase correct PWM を使うのじゃ、とのことなんですが、まずは動作のわかりやすい fast PWM で感覚をつかみました。
LED の明るさを調整、押しボタンの割り込みで光量調整するプログラムで練習。こ、これは楽しいです。

実は PWM は少してこずったのですが、一番の障壁になったのは、AVR Studio 備え付けのヘッダファイル 2313def.inc に TCCR0A, OCR0A, OCR0B レジスタの定義が抜けていたことでした。これらのレジスタ、使おうとするとコンパイルエラーになるので、あれー?何か勘違いしてるかなー?と迷いました。結局 2313def.inc に定義追加したら動くようになったのですが、あまりにもすぐに踏みそうな問題なのでやっぱり何か勘違いしてるかしら、と不安です。

2 Comments

  1. ATtiny2313 だったら定義ファイルは tn2313def.inc だったかも知れません。最近アセンブリ言語で書いていないので不確かですが (_ _;

  2. gan

    インクルードファイル違いですか。気がつきませんでした!
    2313def.inc はきっと AT90S2313 向けなのですね。納得です。
    対処方法やはり強引すぎでした。
    ご指摘ありがとうございました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください