Sahara's WebLog

日記のような、備忘録のような、うらみつらみのような、自慢のような…。

PIC32MX120F032B – HarmonyのPWMでLEDを柔らかく点滅させてみる –

PIC32MX120F032B – HarmonyでPWMをやってみる –」で、LEDをPWNで薄暗く点灯させたので、今度は優しく点滅させてみる。
どういうやり方がベストなのか知らないが、とりあえずデューティー比を決めるOC1RSの値を変更して実現する。
こんな、泥臭いコードになる。
pic32mx120f032b_pwm_harmony_delay_01
delayが必要になったので、ついでにタイマーを追加して、Interrupt Flagをチェックする1msの待ち関数を作った。
pic32mx120f032b_pwm_harmony_delay_02
pic32mx120f032b_pwm_harmony_delay_03
こんな感じ。

新たに知ったことは、Timer1だけは特別だということ。
OCにTimer2を使ったので、同じつもりでTimer1を使ったら、いろいろ設定が違って予定通りの時間にならなかった。
そもそもカウント用のクロックのソースが違う。
今回は、Timer3に変えて解決した。()
pic32mx120f032b_pwm_harmony_delay_04

()
後でもう一度試してみたら、今回の使い方では違いがなかった。
クロックも同じものが使えた。
うまくいかなかったのは何だったのか良く分からなくなった。
ただ、Timer1とTimer2以降の2種類が違う機能を持っていることは確かだ。

このエントリーをはてなブックマークに追加

Posted under: Harmony Configurator, PIC32MX120F032B


2 comments

  • 参考になりました。
    一つの設定ミスで動かなくなるので設定画像があると非常に助かります。

    • ねこさん、コメントありがとうございます。
      試行錯誤しながら、何とか動かしてます。
      お役に立てたようでうれしいです。

コメントを残す

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

Time limit is exhausted. Please reload CAPTCHA.