「PIC32MX120F032B – HarmonyでPWMをやってみる –」で、LEDをPWNで薄暗く点灯させたので、今度は優しく点滅させてみる。
どういうやり方がベストなのか知らないが、とりあえずデューティー比を決めるOC1RSの値を変更して実現する。
こんな、泥臭いコードになる。
delayが必要になったので、ついでにタイマーを追加して、Interrupt Flagをチェックする1msの待ち関数を作った。
こんな感じ。
新たに知ったことは、Timer1だけは特別だということ。
OCにTimer2を使ったので、同じつもりでTimer1を使ったら、いろいろ設定が違って予定通りの時間にならなかった。
そもそもカウント用のクロックのソースが違う。
今回は、Timer3に変えて解決した。(※)
(※)
後でもう一度試してみたら、今回の使い方では違いがなかった。
クロックも同じものが使えた。
うまくいかなかったのは何だったのか良く分からなくなった。
ただ、Timer1とTimer2以降の2種類が違う機能を持っていることは確かだ。
ねこ on 2016年11月25日 at 3:50 PM said:
参考になりました。
一つの設定ミスで動かなくなるので設定画像があると非常に助かります。
sahara on 2016年11月25日 at 4:08 PM said:
ねこさん、コメントありがとうございます。
試行錯誤しながら、何とか動かしてます。
お役に立てたようでうれしいです。