mikroElektronikaでダウンロードできるPIC用のBASIC、mikroBasicを使ってみています。
各PIC毎に色んなサンプルもいっしょにインストールされます。
HELPは英文(日本語版が無いので英語版を使用しています)のため、ちょっと大変ですが、しっかり書かれていてサンプルが無い命令なども大丈夫そうです。
全ての命令が使えるのですが、作成できるプログラムのサイズに制限があって、2Kを超えるHEX出力が出来ないようです。(自分にはこれで十分かなと思います)
試しに昔の定番のPIC16F84Aで作成してみました。
LEDのON/OFF、LCDへの表示、SW入力、ここまでは簡単に出来ました。
PICと他の機器(XPort、PC、他のPIC)をつなげる練習のために UART (シリアル通信)から文字を受け取ってその文字をLCDに表示させてみました。
本来PIC16F84AはUARTをサポートしていないのですが、mikroBasicの命令にSoftware UART があり全く苦労をせずに実現できました。
ただし、基本的な事ではまって3日もかかってしまいました。
通信以外の処理をしている時は受信出来ないという当たり前の事に気づかず苦労しました。
最初は、スピードの誤差とかノイズとか疑っていましたが、原因がわかって直すときれいに受信できています。(すばらしい)
1つ難点を見つけました。
色んな関数を使えば使うほどメモリーを使用してしまい、シリアルからLCDを表示させるプログラムでメモリー(RAM)がぎりぎりの状態です。(使い方が悪いのかな?)
PCとPICの接続テストは出来たので次は本来の目的のXPortや他のPICとつなげてみたいと思います。(アナログ入力も合わせてテストの予定です)
今回使用したテストプログラムや回路は時間をみてHPにUPする予定です。