[][mobile][Homepage][BBS][Blog][YouTube][asablo]

過去の記事の検索が簡単にできるよ (・∀・) 例 ランチャー9
カスタム検索

MPLAB XC8コンパイラv1.21リリース2013/10/31 23:48:19



MPLAB XC8コンパイラが1.21にバージョンアップした。その他XC16,32もバージョンアップしている。チェックは私のホームーページ左から常に行えるようになっている。


コンパイラのインストールは、インストーラを起動するだけでOK。最後のライセンスコードが表示されるが、無料版ならそのままNEXTをクリックで良い。

さて、インストールしても、現行プロジェクトは昔のままのバージョンのコンパイラが使用されるので、変更作業を行う。Dashboardウインドウが開いてあれば、Compiler Toolchainに表示されているProduction Imageの部分をダブルクリックする。Dashboardが表示されていなければFile→Project Properties とたどっても良い。


MPLAB XC8コンパイラV1.21リリース

新しくインストールされたコンパイラをダブルクリックで選択しOK。



PCの環境によっては、多少変更の時間がかかるかもしれない。私のは10秒位時間が経ったあとに、上の状態になった。
これで新しいコンパイラでビルドが可能だ。

ところで、私が今開発しているコードの中で、Ver1.20でビルドしてOKだったソースコードが、新しいVer1.21でエラーが出た部分があった。

エラーの出たコード
temp = (buff[4] - 0x30) * 10 + (buff[5] - 0x30);

これは、通信バッファーで取り込んだ2バイトの数字のアスキーデータから、2桁の数字に変換する部分である。0はアスキーコードで0x30なので、それを引けば数字として取り出せる。10の位を10倍して、1の位を足している、よく使用するコードである。

エラーメッセージ
main.c:404: error: can't generate code for this expression
この表現では、コードを生成できない と出ている。

修正は2行に分けて、
temp = (buff[4] - 0x30) * 10;
temp += (buff[5] - 0x30);

これでエラーが無くなった。動作的にも問題がなかったが、あとでリリースノートを読んでみることにしよう。





Google
www Blog HP BBS


air_variableサイトをまとめて検索 
カスタム検索
[][admin][mobile][Homepage][BBS][Blog][YouTube][asablo]