PIC16F877A & mikroBASIC で遊んでいたら、2kW の制限が気になりだした。
RTCを読んでLCDで表示し、時刻変更は赤外線リモコンでコントロールする
ようなものを作ると、1.7kW を超えてしまった。
で、どうするか?(14ビット/16ビット共通で探してみた。)
1.US$ 149 で購入する。
・・・ムリ。
2.フリーのBASICを探す。
boostBASIC は?beta版なので機能無制限だが、期限付き 2008.5.1 迄。
(現状は、期限なしで、2kW の制限が付いた。)
気に入らないのは、ポート名が大文字ダメ小文字であること。(PORTC --> portc)
・・・却下。
3.PIC18F 専用のBASICなら、Swordfish Compiler がある。
・・・どうしよう?
4.C言語に移るか。
SDCC(Small Device C Compiler)はどうか。・・・ライブラリが無い。
言語選定のためには、PIC Micro Controller Languages (古いような気がするが)がうってつけかも。
何れにしろ、mikroBASIC のライブラリから脱却し、自作することにした。
PIC16F877A 向け自分専用で、mikroBASIC 標準のものをパクって7種類作った。
LCD、USART、ADC、I2C(master)、PWM、Flash、EEPROM
この自作lib により、8本を書き換えてみた。上記は、1.2kW となった。
今しばらく、mikroBASIC が使える。(さらに、PIC18F2550 専用版も作った。)
そこで、これらをC(SDCC)言語版に書き換え、SDCCに挑戦してみた。
mikroBASIC &自作 lib 版を6本、PIC16F877A でSDCCに移植してみた。
結果、BANKSEL のオンパレードとなり、サイズが激増してしまった。
SDCC のobjサイズ = mikroBASIC の1.5倍 + 200W + ムダな include 分
(include すると、使っていなくてもオブジェクトが生成される。(当然ですか))
ということは、・・・振り出しに戻ったということだァ。4月が過ぎ去った。
お手数をおかけします。2クリック(投票を)お願いします ⇒