2014年9月21日日曜日

PICにWSPRコード生成プログラムを移植(訂正あり)

WSPRコード生成プログラムをmbed環境で組みましたが、今回これを基にして8bitPICにプログラムを移植しました。

PIC18F26K22にレベル変換IC ADM3202の組み合わせでPCと接続
Nucleoに使われているARMプロセッサにくらべてPICはプログラムメモリもRAMも小さいため、とりあえず28ピンPIC18Fシリーズで最強な(笑)18F26K22(プログラムメモリ64KB, RAM1024B)をターゲットにしてMicrochip純正のXC8フリー版でコンパイルしました。コンパイルは通りましたがプログラムメモリが10%前後、RAMも22%程度と比較的大きなサイズになってしまいました。

そこで遊びのRAMを極力減らす(1ビット情報をchar型1つに割り当てず、8ビット分をひとつのchar型に収めるなど)方向でソースを書きなおしました。


プログラムメモリもRAM消費もぐっと減ってFBです。
処理過程と結果はRS232C経由でPCに表示させてます。(中央がPIC Windowsの間違い 右がNucleo 下がPICで生成した結果)

真ん中のコマンドプロンプト内はGENWSPR.EXE 右はmbedによる処理結果
PICによるWSPRコード生成結果をTeraTerm上で表示

表示関係をコメントアウトとしてコンパイルするともっと減ってこんな感じに。


これだけ減れば場合によっては16Fクラスでもいけるかもしれません。

移動場所や送信出力の変更によるコード変更もこれでバッチリいけそうです。

0 件のコメント:

コメントを投稿