「モジュール化で理解する電子工作​の基本ワザ」MPLABX対応

昔、書いた「モジュール化で理解する電子工作​の基本ワザ」という本で
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
関連ページ