昔、書いた「モジュール化で理解する電子工作の基本ワザ」という本で
PICのプログラムを作るさいに当時、最新だった「MPLAB 8」をおすすめしていたのですが、
現在はもう「MPLAB X」というIDEが公開されています。
さらにCコンパイラも他社製の「HI-TECH C for PIC10/12/16」をおすすめしてましたが、
現在は「XC8」というCコンパイラが公式で公開されるようになってしまいました。
時代の流れに翻弄されまくりです。
そこで最新版の環境でビルドできるように対応したいと思います。
▲「MPLAB X」と「XC8」はこちらからダウンロードできます。
http://www.microchip.com/pagehandler/en-us/family/mplabx/#downloads
▲過去に作ったプロジェクトがちゃんと動くか確認してみました。
Fileメニューから「Import - MPLAB IDE V8 project」を選択します。
↓
▲ためしに入力基板用のプロジェクトを読み込んでみました。
先に進めます。
↓
▲マイコンの選択です。
そのまま先に進めます。
↓
▲先に進みます。
↓
▲ライタの選択です。お使いのものを選択してください。自分の場合はPICKIT2です。
↓
▲コンパイラの設定です。「XC8」に移行したいので、「XC8」を選択して進めます。
↓
▲ディレクトリを設定します。
なぜか、「プロジェクトフォルダ」なるものが勝手に設定されましたが、そのまま進めてみました。
↓
▲変換が完了しました。これで、MPLAB Xのプロジェクトができたはずです。
拡張子がmcwとmcpのファイルはもう不要なので、消しても大丈夫です。
↓
▲ビルドしてみると、エラーが出ました。
定義文で失敗してますね。困ったことに互換性が維持されてないようです。
そこで、冒頭のincludeを変更してみました。
PIC16F716の場合、
#include<htc.h>
↓
#include<xc.h> #include<legacy/pic16f716_legacy.h>
PIC16F648Aの場合、
#include<htc.h>
↓
#include<xc.h> #include<legacy/pic16f6x_legacy.h>
「htc.h」は変更しなくても大丈夫な気がしますが、
せっかく新しいコンパイラになったので、直しておきます。
あと、エラーの原因は定義の仕様が変わったためらしく、
古いヘッダーファイルをLegacyフォルダから呼び出してみました。
これでビルドしてみると、無事にエラーが出ないでできました。
余分にincludeがあると見た目が良くないので、そのうちソースを直すといいでしょうか。
以上の方法は独自に考えた方法なので、もし、間違ってたら教えてください。
http://d.hatena.ne.jp/nicotakuya/20110708/1310086459?_ts=1408945799
関連ページ