ISBN 9784297133641
C言語&MCCによる PICプログラミング大全
概要
MPLAB X IDE + MCC を使い PICマイコンをC言語で実践的に制御する
想定読者
マイコンボードで電子工作を始め、PICマイコンに移行したい開発者。または従来のレジスタ直書きスタイルから MCC の GUI設定へ移行を検討している組み込みエンジニア
こんな人には向いていない
- C言語の基礎文法をまだ習得していない初学者には難易度が高い(本書はC言語を前提として進む)
- Arduino/Raspberry Pi のみで完結する用途には適合しない(PICマイコンとMPLAB X IDE環境を前提とする)
- PICマイコンをすでに MCC で日常業務として使いこなしているベテランには既知内容が多い
読了後にできるようになること
- MPLAB X IDE のプロジェクト作成・コンパイル・実機デバッグの一連ワークフローを操作できる
- MCC の GUI 操作でコンフィギュレーションビット・クロック・入出力ピンを設定し、C言語コードを自動生成できる
- タイマ(Timer0/1/2/SMT)・EUSART・I2C・SPI・1-Wire といった主要ペリフェラルを MCC 経由でプログラムに組み込める
- PWM / CWG モジュールを使ってモータ速度制御や LED 調光制御を実装できる
- ADC/ADCC・DAコンバータ・コンパレータなどアナログ系モジュールをセンサ取得に活用できる
- FATファイルシステムを使って SD カードへのデータ保存を組み込み開発に取り入れられる
本書のキー概念(章解説)
- 第 1 章 第1部: PICマイコンと開発環境の概要(第1〜5章) — MPLAB X IDE のインストールから実機デバッグまでを網羅。IDE 初経験者はこの部を丁寧に進めると後の部がスムーズになる
- 第 2 章 第2部: MPLAB XCコンパイラの詳細(第1〜3章) — コンパイル処理・変数スコープ・割り込み関数の仕様。C言語経験者は流し読みし、コンパイラ固有の仕様確認に使うリファレンスとして活用できる
- 第 3 章 第3部第1〜2章: MCCの概要とシステム設定 — MCCのインストール・起動方法・コンフィギュレーションビット・クロック設定。MCC 操作の起点となる必読章
- 第 4 章 第3部第3章: LEDやスイッチ(GPIO制御) — Pin Manager Grid によるピン割り付けの実例。GPIO 制御は後続の全モジュールの基礎
- 第 5 章 第3部第4章: タイマモジュール群 — Timer0/1/3/2/4/6/SMT まで網羅。インターバル動作・パルス幅測定・高精度計時の使い分けを一覧で把握できる
- 第 6 章 第3部第5章: 通信モジュール(EUSART / I2C / SPI / 1-Wire) — センサや外部デバイスとの接続が多い用途では最も参照頻度が高い章。例題でマスタ/スレーブ両側を解説している
- 第 7 章 第3部第6〜7章: PWM / CWG / NCO / DSM — モータ制御・LED 調光・変調信号生成を扱う。アクチュエータ制御が必要なプロジェクトで実務直結度が高い
- 第 8 章 第3部第8章: メモリ管理(EEPROM / Flash / 外付けフラッシュ) — 設定値の不揮発保存が必要な製品開発で参照価値が高い
- 第 9 章 第3部第9章: アナログモジュール(ADC / ADCC / コンパレータ / DAC / オペアンプ) — センサ信号取得・ノイズ除去・電圧比較を扱う。アナログ系処理が関わるプロジェクトではリファレンスとして繰り返し参照できる
- 第 10 章 第3部第10章: その他内蔵モジュール(CLC / スリープ / WDT / CRC+SCAN) — 省電力設計・異常監視・メモリ整合性確認を担う。製品化フェーズで重要性が増す内容
- 第 11 章 第3部第11章: ミドルウェア(FATファイルシステム / SDカード) — 計測ログの保存など、データ記録機能が必要な応用プロジェクトに対応する最終章
ハイライト
- GUI操作でレジスタを設定したC言語のソースコードを作成してくれるので、いちいちレジスタの設定を調べる必要はありません(MCC 導入によるレジスタ手動設定の削減という本書の最大の独自価値が端的に示されている)
- 本書では既製品を活用することで、お手軽にPICマイコンの各種機能を試せるようにしました(Curiosity HPC ボードを使った既製品活用により、ハードウェア自作のハードルを下げている点を示す)
編集メモ
Qiita 言及 0 件 / 外部シグナルなし。楽天ランキング情報も入力に含まれず。著者・後閑哲也氏は PICプログラミング書籍の継続的な著者であり、前作から改訂されたという書誌情報はあるが、外部シグナルが存在しないためメカニカル基準では supplementary と判定する
読む前に押さえておきたいこと
- C言語の基本文法(変数・制御構文・関数・ポインタ)を一通り習得していること
- デジタル入出力・電源・グラウンドといった基本的な電子回路の知識
- Windows または macOS 上でのソフトウェアインストール・ファイル操作の経験
学習のコツ
- 第1部(開発環境)を終えたら、第3部第1〜2章(MCC概要・システム設定)に直進し、最初の MCC 操作を体験してから各モジュール章に進むと定着が早い
- 第2部(XCコンパイラ詳細)は通読より辞書引き利用が効率的。変数スコープ・型変換で意図しない動作に遭遇したときに該当節を参照する使い方が有効
- 第3部の各章は「内部構成 → MCCの設定 → 例題」という構成が統一されているので、新しいペリフェラルを試すたびに同じ読み方のパターンを繰り返せる
- Curiosity HPC ボードの入手が難しい場合はサポートページに代替 IC 情報が公開されており、手持ちの 28/40 ピン品でも大部分の例題を試せる
出版社による内容紹介
名著「C言語によるPICプログラミング大全」がさらに使いやすくなりました。 PICのプログラム開発のためには、統合開発環境である「MPLAB X IDE」が便利です。さらに、ここに組み込めるプラグイン「MCC(MPLAB Code Configurator)」を使えば、GUI操作でレジスタを設定したC言語のソースコードを作成してくれるので、いちいちレジスタの設定を調べる必要はありません。ただ、便利なツールなのに、あまりにも多機能すぎて、初心者はどこになにがあるのか、どう操作すればよいのかがわかりにくいというデメリットもあります。本書では、これらの使い方を詳しく解説します。 なお、初心者にとって、学習用ハードウェアの製作は少しハードルが高かったのですが、本書では既製品を活用することで、お手軽にPICマイコンの各種機能を試せるようにしました。 電子工作をマイコンボードで始めたけれど、そろそろ、PICマイコンが気になってきたなという方、また、これまではデータシートにくびっぴきでレジスタ設定コードを書いていたという方、最新のPICの新しい機能を試してみたい方にも、必ず役に立つ1冊です。
この本がどの学習段階で役立つかは、 関連する ロードマップ から確認できます。