PICのC化
もう,7〜8年前になりますが,PICで,エレキー,アンテナ切り替え器,FT-1000MPへPC音声送り込み機(ボイスメモリーDVS-2の代用)を作りました.
16F84で作ったのと,全部アセンブリ言語で作ったのとで,自分で修正するのもなかなかたいへんですし,機能拡張したり,他のPICへの移植はかなり困難です.
そこで,後々のことも考えて,プログラムをCに移植するプロジェクトに着手しました^^;
少しやってみると,条件分岐やループが非常に楽です.アセンブリ言語だと,
ステータスの変わるオペレーション BTFSS STATUS,Z GOTO どこか
なんてあったとき,Zeroフラグがセットされているときスキップだから,ゼロでないときにどこかに飛ぶんだな,といちいち考えないとなりません.BTFSCだとゼロフラグがセットされてないときスキップだから,ゼロでなくないときどかに飛ぶし,STATUS,2と書いてあったら,マニュアルを見なければ何のフラグか解りません^^; マニュアルを見ている間にゼロでないときか,ゼロでなくないときか忘れます^^;;
Cだと,
if (変数など) goto どこか;
でいいんですから.とはいえ,アセンブリ言語で書いたプログラムをCに変換するときは,さんざん悩みます.動かないときは,とりあえず!を付けてみたりして^^;;
いちおう,上記の三種については,今日までに完了しました.
ソースについても,順次公開していきます.エレキーは,まだ少々動作が怪しいので,もうしばらく自分で打ってみて,動作確認したいと思います.アンテナ切り替え器も検証中です.
あと,FOXハンティング用のFOXもありました.このプログラムのC化はまだ着手していませんが,そのうちやろうと思います.
詳細記事
- Category(s)
-
Legacy Ham Radio
- PIC