モジュール分割
PICマイコンに限りませんが、モジュールに分割して各機能を実現し、動作を確認したモジュールを使ってmainプログラムを書くと作業が楽になると思います。
タイトル画像プログラムの目的
ADC(ADコンバータ)のサンプリング結果によってLEDの点滅パターンを変化させることです。
実現のためのモジュール
ADCモジュールはタイマー割込み処理で、ADCのサンプリング結果を所定のメモリー(ここでは led_d)に上書き保存します。
タイマー割込みが発生する都度、同じことを行って終了します。
LEDモジュールもタイマー割込み処理で、所定のメモリー(ここではled_d)の値に従って所定のLED制御を行います。
ここでは遅い点滅または早い点滅を実現します。
mainプログラムは、前述2つのモジュールとのやり取りによって、プログラムの目的を実現します。
mainを書く方が楽しい
マイコンを使ってハードウェアを制御する場合、全体の構想を考え、回路図を描いてモジュールを記述し、動作確認してmainを書くことになると思います。
回路図はもろにハードウェアですし、モジュール記述にはマイコン内部のペリフェラルを扱う内容を含むため、ハードウェア寄りの知識が必要になります。
マイコン端子毎の機能制約によって回路図も変化します。
慣れない内は、難解と感じる部分です。
一方で、動作確認済の回路とモジュールがあれば、mainを書く作業はとても楽になりますし、楽しい作業だと思います。
初めは難解な作業を依頼するのも良い
慣れない内は、難解な回路設計とモジュール部分を誰かに頼んで、楽しい作業から始めるのも良いと思います。
モジュール記述についても、ゼロから試すより、誰かが書いてくれた確かに動作するモジュールを見ながら学ぶ方が近道になると思います。
仕組みが理解出来れば、一部修正して自分好みに改良することも可能です。
今後とも、宜しくお願い致します。
出来ればサポート頂けると、嬉しいです。 新しい基板や造形品を作る資金等に使いたいと思います。