今回は、MCCと比較のための手書きプログラム(?)を作成します。次回以降の記事で、MCCを使用したプログラムを作成しますが、比較のために同じ内容のプログラムを自分で書いた場合どうなるか、確認しておきます。前回の記事で作成した「MCCTest」プロジェクトとは別に、新規プロジェクトを作成します(「Test」プロジェクトなど適当な名前で構いません)。Files」フォルダ内に「main.c」ファイルを作成します。簡単な内容のプログラムであれば、このmain.cファイル内に全てのコードを書きますので、プロジェクトとしてはこのmain.cファイルのみという構成になります。MCCでプログラムを自動生成した場合、main.cファイル以外にいろいろなファイルが作成されますので、この基本構造と比較する形で説明を読み進めていただければと思います。手書きの場合のプログラム例題としては、RA2ピンに接続されている2個のスイッチの片方を押すとLED点灯、もう片方を押すとLED消灯、という動作にします。具体的な動作としては、RA2ピンの電圧値をADコンバータで読み取り、その値に応じてLEDを点灯、消灯どちらかの動作をする、というものです。手書きでプログラムを作成する場合、例えば以下のようになります。return;}手書きプログラムのポイントこの手書きプログラムのポイントを以下に説明します。ヘッダファイルのインクルードヘッダファイルは、デフォルトで「xc.h」、その他必要なヘッダファイルをインクルードします。コンフィグレーション設定PICマイコンの場合、マイコンの基本的な動作仕様を指定するために必ずコンフィグレーション設定が必要になります。この例では、main.cに書いていますが、別途ヘッダファイルに書いてそれをインクルードすることもあります。動作設定マイコンの周波数設定やピンの属性設定などは、それぞれの設定を行うレジスタに数値を代入することにより行なっています。このような設定を行う場合、データシートでどのレジスタにどのような値を設定すればよいか、調べながらプログラムを作成していきますが、結構面倒なんですよね。今回の例題はADコンバータを使用しますが、ADコンバータを使用する場合、先ほどと同様に該当するレジスタに数値を代入することにより行います。複雑な機能の場合、設定レジスタが多く、また難解な場合もあり、心が折れそうになることがしばしばです。いうわけで手書きの場合、簡単なプログラムはそれほど負担ではありませんが、複雑な機能を使用する場合、レジスタの設定やら各種機能の使い方やら、いろいろとデータシートを調べることが多く、心が折れそうになる、という結論です。