Picなどのマイコンの出現により、シンプルな回路で、大変高度なことが出来るようになりました。
しかも低価格でマイコンが手に入り、開発環境も無料のものもあり、敷居が低くなりました。
大変便利なマイコンですが、このマイコンを使う前が一苦労。
今回は、マイコンを使ってみようと考えている方に贈る、お話です。
まず最初の壁が、プログラム言語の壁。
マイコンを利用するためには、マイコンにプログラムを覚えこませなくていけません。
そのプログラムですが、プログラミングするための言語はいくつかあり、代表的なものは、「C言語、アセンプラ、BASIC」などです。
お仕事でプログラミング出来るヘビーユーザーのお方は、簡単にプログラミングしてしまい、マイコンを動かす事が可能です。
でも、プログラミンしたことが無い初心者が、いきなりプログラミンすることは、絶対無理です。
(出来たら、その方は神様です。)
かなり苦労してC言語などのプログラミング言語を覚えます。
全くの素人さんでは、この言語を理解するのに(マスターでなく理解する程度)、1月程度はかかると思います。
なんとかプログラムの壁をパスしたとします。
次の壁が、マイコンの機能(構造)の理解です。
アセンブラ言語の場合、このマイコンの構造を理解していないと、かなり苦しいと思います。
C言語でも知らないと苦しいですが、基本的にマイコンのピンの働きを知っていれば何とかなります。
それで、マイコンの構造とは何かと言いますと、マイコンによって基本機能に差があります。
例えば
Aのマイコンは発信子の機能が無いけど、Bのマイコンはある。
Cのマイコンはアナログをデジタルにする機能は無いけど、Dのマイコンにはある。
などなど。
このマイコンの機能を利用するためには、プログラムを記述する前の部分に、機能をどのように使用するのか記述する必要があります。
この機能の記述は、
CONFIG(コンフィグ)と呼ばれていて、例えば、次のように書きます。
#include <pic.h>
#include "delay.h"
__CONFIG(HS & WDTDIS & PWRTEN & UNPROTECT);
#define RS RA1
#define E RA0
#define DB4 RB4
#define DB5 RB5
#define DB6 RB6
#define DB7 RB7
void main(void){
PORTA = 0;
TRISA = 0b00000000;
}
難しい話は置いておくとして、
マイコンの機能を知っていないと、このCONFIG(コンフィグ)の記述を書くことができません。
また、新しいマイコンを使用する場合、マイコンを使うことになれている人でも、このCONFIG(コンフィグ)の設定で、迷うことが多々あります。
そのため、一度書いたCONFIG(コンフィグ)は、使いまわしすることになります。
さらに、このCONFIG(コンフィグ)は、開発環境によって、プログラムの中に記述したりしなかったりするため、ネットでオープンにされているプログラムも、このCONFIG(コンフィグ)部分を、記載していないこともあります。
ネットのプログラムをダウンロードしても、自分の環境に合わせて、このCONFIG(コンフィグ)部分を書きなおさないといけないため、CONFIG(コンフィグ)は本当に厄介な部分です。
次の壁が、外部ファイルの関数を利用する場合です。
すべてをプログラミングするのはとても大変なため、良く使用するプログラム、例えば1秒待つなど、メーカが事前にプログラミングしていてくれています。
大抵は、別のファイルに記述されているため、このファイルを読み込む必要があります。
読み込むといっても、
#include <pic.h>
#include "delay.h"
のように記述するだけなのですが、 とてもよく使うのは、<ファイル名>。
あまり使用しない場合は、プログラムファイルと同階層の所へ持ってきて、”ファイル名”のようにするなど、暗黙の了解があります。
このような事は知っていれば簡単ですが、知らないと一生できないこともあるため、注意が必要です。
ネットでオープンになっているプログラムの中には、この外部ファイルの記述がないこともあります。
まとめると、マイコンを使う前は、マイコンの性能の記述、外部ファイルの記述などが必要ですが、開発環境によって違うこともあるため、自分に合った記述をするのが一苦労です。
|