逆襲のユージオログ

ジオログ->Y!ブログ->はてなと漂流してきました。

MPLAB HarmonyでLEDチカチカ

こんばんは。
今日は台風でしたが、熊本では大したことなかったです。

まあ、今日はPIC32MXの勉強みたいなことをしてました。
手始めにPIC32MXを使ったLEDチカチカにチャレンジ。
と言っても何日か前からやってやっと出来たという感じなのですが。

MPLAB IDE+XC32では出来ていたので新しい環境
MPLABX IDE+XC32+MPLAB Harmony
でも余裕かと思ってたのですが結構手間取りました。

※ MPLAB Harmony とはなんぞ?
PIC32用のライブラリを集めたもの。
PIC32はMPLAB Libraries of Applicationからこれに移行した様子。

MPLAB IDEのプログラムを入れ直してみたり内部クロックにしたり
試行錯誤してやっと判明。

まず最初、発振回路周辺のコンデンサ容量が全然違ったこと。
これはハード面の経験不足がアレでした(苦笑)

それを是正してもおかしい。タイマーで1秒ごとにON/OFFを繰り返すはずが妙に速い。
正確にカウントできないほど速い!

結局Device Control System Services Library(デフォルトで有効になってる)とやらのせいで
周辺機能用クロックのポストスケーラが強制的に1/1になってたためでした。

Device Control(略)にはパラメータとして
・ システムクロック周波数値定数
・ 周辺回路用周波数の最大値
の2つがあり、これらの大小で前述ポストスケーラを1/1か1/2か切り替えます。
一方、このポストスケーラの値域は1/1, 1/2, 1/4, 1/8。
つまり1/4か1/8に設定していると絶対変わってしまうと(汗)

何か意図があるのか、発展途上だからなのか、よくわかりませんがLチカだけでこんなに苦労するとは(汗)

今回の件はHarmonyの影響が大きかったのですが、
今のところまだMPLABX IDEよりMPLAB IDEの方が使いやすいかな~という感じです。