私はPIC、C言語ともに入門レベルである。PICは、秋月キットのプログラムをアセンブラで書き換えて動かすレベル。C言語は、パソコン上でちょっとした計算が出来る程度のレベルである。
今のところ、個人の趣味レベルとは言え、もう少し凝ったことをしたくなってきた。そこで、フリーのC言語の導入を考えた。
本書で扱うC言語は、統合環境のMPLAB(Ver8.5)についてくるHI−TECH C(PRO liteモード Ver9.70)。どのC言語がいいか?については、様々な議論があると思うが、趣味レベルで使い始めるなら、このCで十分だろうと思い本書を入手した。
本書で取り上げているPICは、14ピンのPIC16F688である(8ピンの683との違いの解説も多少ある)。
以下、内容とコメントを記す。目次については、著者のホームページhttp://www.ne.jp/asahi/niko.niko/neko/などにあるのでそちらで確認を願いたい。
全234ページ、参考までに大まかなページ数を記しておく。
●第1章 C言語入門
約40ページを割いている。Cのエッセンスを簡潔に説明している。
分厚いCの入門書を読んで、例えばCの教科書とも言われている『独習C』などは、その説明の多さに読むとくたびれてくる。そう感じた人は、本書のこの入門を読んで頭の中を整理するといいだろう。その上で、分厚い本を再読してCのレベルを上げる学習法もありだと思う。
本章の簡潔な説明の例をあげると、#includeの<>で囲む場合と” ”で囲む場合の違いについては、本書では4行、独習Cでは10行程度。
●第2章 PICマイコンの機能
30ページちょっとある。
コンフィグレーション、発振、その他を記載。
コンフィグレーションビットは、本書では、HI−TECH Cでの記述方法が具体的に一覧表で記述されている。
マイクロチップ社発行のデータシートCONFIGURATION WORD REGISTERを見ればビットの操作方法は記述されている。しかし、C言語としてどのように記述するのか分からない。
これは、初めて688を扱う人の助けになるだろう。
●第3章 PICマイコンの周辺機能
80ページ以上の紙面を割いている。
この章からは、実際の回路を使っての解説が始まる。シンク電流、ソース電流など回路の基礎的な説明もあるのは、私のレベルには再確認になって嬉しい。
最初は、I/Oポート制御学習のLEDのチカチカレベルから、コンパレータ、最後は、A/Dコンバータ。688の機能を使いこなす内容になっている。
ロボットを作りたい人には、モータの制御は必須であるが、本書にはモータ接続の記載はない。この点は他の書籍かネットを漁ることになる。
また、本書には、『例題がない』と指摘する人もいるかも知れない。しかし、「チカチカのタイミングを変える」、「別のピンでチカチカ」など例題など自分でいくらでも作れるものだ。自ら例題とその回答が出来ないようでは、コピペのニセ開発は出来ても、本当の開発をすることなど出来ないだろう。
部品表は、回路図上の記号、部品の内容、参考価格、取扱店、部品のメーカにまとめられている。一部の書籍で、回路図と部品表が離れた位置にあり、それぞれが何処にあるか分からないようなものもあるが(PICの本でも存在)、本書は同じページか隣接ページに存在する。読み手に取っていい(技術論文等の世界では当然の編集だが、書籍では妙な編集がまかり通っている)。
また、回路を組んだ常態での現物写真もある。全体の雰囲気を掴むのによいだろう。
●第4章 開発ツール
15ページ程度。
MPLABのインストール方法、プロジェクトの作り方、シュミレータの簡単な使い方、PICKIT3の接続手順など。
●第5章 PICマイコンの応用回路
20ページ程度。
第3章と違い説明は簡素になる。これは、第3章までを理解していれば、「分かる」の判断からのことだろう。
紹介されている回路は、ベース的なものである。その後は、個人の力量次第。
例えば、USB温度計。部品点数も10個と少なく、ソースリストも2ページ以下(uart.cとuart.hを加えると4ページ程度)のレベル(当然簡素な表示である。凝った表示は本書の範囲外だろう)。これなら、取り合えず、製作してみようの気になると思う。ソースはこのレベルなら手入力も可能だし、著者のサポートページからのダウンロードも可能である。
ちなみに、この温度計は、もう少しPICのCの理解が進んだ段階で、最初に製作したいと感じた。何しろ、自分でパソコン周辺機器が作れてしまうのだ。
以上である。
本書は、白黒印刷なので、見た目は地味かも知れない。しかし、熟読して独習し開発を行いたい人には良書だと思う。
念の為、断っておくが、このレビューを書くに当たり、全体を熟読したわけではない。熟読は、途中までである。しかし、既に本書を読んでいくつかの問題がクリア出来たことを付け加えておく。
それと本書では、ソースリストにビットの状態を解りやすくする為に、16進数に対する2進数を併記していない。そのレベルを求める人には本書は向かないだろう。
更に、著者も本書の冒頭で断っているが、タイマ2、CCPは説明していない。
他の書籍のレビューを見ると1冊に全てを求めるような記載が見られる。しかし、PICやCは、1冊で全てをマスターできるほど甘くない。本書はかなりの内容が含まれてはいるが。
尚、2011年3月5日時点では、MPLABの最新バージョンは、8.63(Cは9.81)となっている。私は、このバージョンを使用しているが、本書で扱うバージョン(冒頭に記載)との違いの差は余り感じられない。
旧バージョンの入手方法についても第4章開発ツールのページに記載があるので、どうしてもバージョン差が気になる人は、本書記載の方法で手に入れてもよいだろう。
以上
追記 2011年3月13日
索引は、日本語、英語、記号、合わせて10ページある。比較的充実している方だろう。