電子工作 C言語でPIC
 
2008/01/24
 
なんとかかんとか、PICも動いた♪
ちょっと調子こいて、C言語でもやってみました。

アセンブラでもいいんだけど、ちょっとこんだプログラムだとめんどくさい。
MPLAB IDEをインストールしたとき、おまけでPICC-Liteがついてきた。
おまけでついてるってことは、使ってみてねってことだろうから使ってみましょ♪

PICC-Liteは無償版だから、使えるPICの種類が少ないらしいが その辺も見てみよう。

MPLAB IDEのプロジェクトウィザードで、PIC16F628Aを
選ぶと、使える言語にPICC-Liteが出てこない。

対応するPICが少ないってのはこのことなのかな?!

試しにPIC16F627Aを選んでみると
今度は HI-TECH Universal Toolsuite ってのが出てきた。
これだな。

あれ?選んでもLocationのとこが空っぽだ。
HI-TECH C Compilerにも×がついてる。

Locationの「Browse」ボタン押して↓を選択したら×とれた。

C:\Program Files\HI-TECH Software\PICC\LITE\9.60
\bin\picl.exe

これがコンパイラの場所みたいですね。

あとは「次へ」で、アセンブラのときと同じにやって


あちこち調べた結果、スイッチ押したらLEDが点くっていう
プログラムをC言語で書いたら こんななりました。

長くなるので 今回はソースの説明はしません。

が、C言語だと えらく簡単になりますね。

ってか、これって普通のC言語の文法です。
別にPICに限ったはなしでなくて、本業で使ってるC言語と
同じだ。

ま、とりあえずビルドしてみましょ。
#include <pic.h>

void main( void )
{
    TRISB = 0b11011111;

    while(1)
    {
        if( RB0 == 1 )
        {
            RB5 = 0;
        }
        else
        {
            RB5 = 1;
        }
    }
}


アセンブラと違って、プログラムメモリの使用率かな?!
そんなのも出てきた。

でもあとは何ら変わらない。

このあとのデバッグも、PICの書き込みも何ら変わり無し。

で、PICもちゃんと動きました。

な〜んだ、簡単じゃん♪

普通のC言語(パソコンソフト用の)と同じってことは・・・ と思ってちょっと調べてみました。

なんでかっつーと、おれが本業でやってるC言語やアセンブラは、ライブラリやら何やらがなくても一からプログラムが作れるもんです。
一から作れるのに、PICの種類に制限があるってことは・・・ ライブラリが提供されてるかどうかってことではないかと。

ちょっと専門的な話だけど、ものがアセンブラやC言語なら、ライブラリも自作できるわけで
提供されてないなら、作っちゃえばいいんじゃないかと。

んで、調べた結果、ほぼこういうことでいいみたい。やっぱり普通のC言語と考え方は同じらしい。

てことは、使いたいPIC用のライブラリを作っちゃえばなんだって対応できるわけだ。
な〜んだ、フリーソフトのC言語でPICのプログラムできるじゃん♪

へっ へっ へっ、ライブラリ作るのは本職だもんね〜♪

といっても回路の方が追いつかないんで、今はやらない。

それに、点火時期の制御くらいなら ライブラリを作るまでもないんじゃないかな。

おっしゃ! PICはC言語でやろっと(^^♪



   
 
TOP 掲示板 Jazz CB250 Export K2 えぶりぃ! サンドブラスト 実験、実験 このページは。。。
sOP<・」