読書メモ
・「C言語ではじめるPICマイコン」
(中尾 真治 :著、オーム社 \2,400) : 2009.06.20
内容と感想:
本書ではPICマイコンの使い方を、プログラミング言語としてC言語を使って解説している。
マイコンには8ピンの「PIC12F675」を取り上げ、コンパイラには「PICC Lite」を、統合開発環境として「MPLAB IDE」を使用している。
第1章ではC言語の文法も解説していて、既にC言語の知識のある方は読み飛ばしてもよいだろう。
ただし、PICC Liteに依存する記述の仕方やPICに依存する部分の注意点などにも触れているため、ざっと目を通すとよいだろう。
第2章ではPICマイコンの基本について書かれている。「IDロケーション」という単語が唐突に出てきて、
何のために使うのかよく分からなかった。
また、第3章が本書の肝で、PICマイコンの機能を説明している。
レジスタやI/Oピンの使い方を、データシートや回路図、C言語のソースコードを示しながら解説している。
「ウィーク・プルアップ」「ブラウンアウト・リセット」「プリスケーラ」「ポストスケーラ」などという単語が突然出てくると初心者にはチンプンカンプン。
残念ながら、ところどころ説明不足な箇所が見られ、著者本人には常識的な用語かも知れないが、読者のターゲットをどこに置いているのかが不明確だと感じた。
事前にある程度のマイコンの知識は必要だろう。個々の説明については丁寧に書かれていると思う。多くは実際にマイコンを動かしてみなくても、想像することができた。
○ポイント
・PICマイコンではデータメモリがバンクで区切られており、変数はまずバンク0に作られる。
・変数のpersistent宣言:マイコンがリセットされても変数が初期化されない
・Cで書かれた変数をアセンブラの命令で使うには、変数名の前にアンダーラインを付ける
・PICマイコンは4クロックで1命令(サイクル)を実行。発振クロックが4MHzなら、命令クロックは1/4の1MHzとなる。
・ブラウンアウト・リセット:電源電圧が下がったとき、電源オン・オフを繰る返す場合にマイコンをリセット
・I/Oピンがマイコンの中では最もノイズを受けやすい
・GPIOレジスタの内容を読むと、I/Oピンの入力データあ変化検出用のラッチにも保存され、その内容とI/Oピンの入力データが違う場合に、
入力データが変化したと検出する。
・スリープモード中でもコンパレータ出力の変化を検出し、PICマイコンを起こすこともできる
・A/D変換のためのアクィジション時間:ホールドコンデンサの電圧がアナログ入力電圧と同じになるまで待つ時間。
・ウォッチドッグタイマーはタイムアウトしないように書く。タイムアウトすることは不思議な動作をしていることを意味する。
プログラムが暴走してもウォッチドッグタイマーを止めてしまうことはない。
・スリープモード:発振回路が止まる。ウォッチドッグタイマーは発振クロックを使わずに動く。その分、電力は消費する
-目次-
第1章 C言語の文法
第2章 PICマイコンの基本を知ろう
第3章 PICマイコンの機能を使いこなそう
第4章 MPLAB IDEとPICC Liteを使おう
|