「C言語とMCCによるPICプログラミング大全」

 技術評論社   ISBN 978-4-297-13364-1
 全国書店にて2023年3月18日 発売開始です。
    ¥3,400+税
 後閑 哲也著



PICマイコンの設定はMCCで自動生成
開発環境MPLAB X IDEを使い倒す!

第1部 PICマイコンと開発環境の概要 ....................................................... 11
第1章●マイコンとプログラミング ..................................................................................................11
1-1 マイコンとは ..........................................................12
1-1-1 マイコンの出現と進歩 ...................................12
1-1-2 マイクロプロセッサとマイクロコントローラ の差異 ...............................................................13
1-2 マイコンのプログラムとは ................................14
1-2-1 マイコンの構成とプログラム ......................14
1-2-2 プログラムと命令 ............................................14
1-3 2進数と16進数 .....................................................16
コラム なぜ1バイトが8ビットになったか ...........17
1-4 マイコンの動かし方 .............................................18
1-4-1 動かすために必要なこと ...............................18
1-4-2 マイコンでできないこと ...............................19

第2章●PICマイコンの概要.....................................................................................................................21
2-1 F1ファミリの位置付けと種類 ..........................22
2-1-1 PIC16F1ファミリの位置付け .......................22
2-1-2 PIC16F1ファミリの種類 ...............................23
2-2 PIC16F1ファミリのアーキテクチャ..............33
2-2-1 全体アーキテクチャ ........................................33
2-2-2 クロックと命令実行 ........................................35
2-2-3 プログラムメモリのアーキテクチャ ...........36
2-2-4 データメモリのアーキテクチャ....................37
2-3 コアインデペンデントペリフェラル...............41
2-3-1 CIPの種類 ........................................................41
2-3-2 CIPの適用例 ....................................................43

第3章●ハードウェア開発環境の概要 ............................................................................................45
3-1 ハードウェア開発環境概要 ................................46
3-1-1 ハードウェアツール ........................................46
3-1-2 評価ボード ........................................................47
3-2 Curiosity HPCボード ........................................49
3-2-1 Curiosity HPCボードの概要と実装内容 .....49
3-2-2 回路構成 ............................................................51
3-3 Clickボード ...........................................................52
3-3-1 Clickボードとは ..............................................52
3-3-2 mikroBUSとは .................................................53
3-4 ブレッドボード .....................................................54
3-4-1 ブレッドボードとは ........................................54
3-4-2 ブレッドボードへの部品実装の仕方 ...........55

第4章●ソフトウェア開発環境と使い方 ......................................................................................57
4-1 ソフトウェア開発環境概要 ................................58
4-1-1 2種類の開発環境スタイル .............................58 4
-1-2 ソフトウェアツール ........................................59
4-2 ソフトウェアの入手とインストール...............62
4-2-1 ファイルのダウンロード ................................62
4-2-2 MPLAB X IDEのインストール ......................64
4-2-3 MPLAB XC8コンパイラのインストール ....67
4-2-4 MPLAB X IDEの外観 ......................................69
4-3 プロジェクトの作成 .............................................70
4-3-1 MPLAB X IDEの起動 ......................................70
4-3-2 プロジェクトの作成 ........................................71
4-3-3 ソースファイルの作成 ....................................74
4-3-4 既存プロジェクトの取り扱い........................75
4-3-5 プロジェクトのプロパティ ............................76
4-3-6 DFPの役割と選択............................................78
4-4 エディタの使い方 .................................................80
4-4-1 エディタの画面構成と基本機能....................80
4-4-2 エディタの基本機能とツールバーの 使い方 ................................................................82
4-4-3 エディタの各種設定 ........................................88  
4-5 コンパイルと書き込み実行 ................................94
4-5-1 コンパイル ........................................................94
4-5-2 書き込み ............................................................97
4-5-3 SNAP/PICkit4の詳細 ................................... 100
4-5-4 ICSPの詳細 ....................................................101
4-5-5 書き込み時の注意とツールのエラー対策 ... 103
4-5-6 ファームウェア不具合の修理方法............. 104
4-6 実機デバッグの仕方 .......................................... 108
4-6-1 デバッグに使う例題プログラム................. 108
4-6-2 実機デバッグの開始とデバッグ用 アイコン ..........................................................110
4-6-3 デバッグオプション機能 .............................. 111
4-6-4 メモリ内容表示 ..............................................114
コラム コンパイルエラーの原因発見のコツ ........116

第5章●MPLAB X IDEの便利機能 ............................................................................................... 119
5-1 MPLAB X IDEの便利機能 ............................. 120
5-1-1 ファイルの登録と削除 ................................. 120
5-1-2 複数プロジェクトの扱い ............................. 123
5-1-3 複数構成のプロジェクト ............................. 123
5-1-4 プロジェクトのコピーとRename ............. 125
5-1-5 Dashboard..................................................... 126
5-1-6 プロジェクト内検索 ..................................... 127
5-1-7 コンパイラの追加と削除 ............................. 129
5-2 エディタの便利機能 .......................................... 130
5-2-1 ショートカットキー ..................................... 130
5-2-2 構造体やレジスタの要素選択..................... 132
5-2-3 検索と置換 ..................................................... 132
5-3 デバッグ時の便利機能 ..................................... 132
5-3-1 Hyper Navigation ......................................... 132
5-3-2 Navigationメニュー..................................... 133
5-3-3 Call Graph ..................................................... 134


第2部 MPLAB XCコンパイラの詳細 ......................................................135
第1章●XCコンパイラの動作..............................................................................................................135
1-1 コンパイル処理の流れ ..................................... 136
1-1-1 MPLAB XC8コンパイルの処理の流れ ..... 136
1-1-2 セクションとMAPファイル ....................... 138
1-2 プログラム実行時の環境 ................................. 141
1-2-1 実行時のメモリレイアウト ......................... 141
1-2-2 main関数とスタートアップコード .......... 142
1-3 プリプロセッサの使い方 ................................. 144
1-3-1 プリプロセッサ指示命令の種類 ............... 144
1-3-2 #defineとマクロ機能の使い方 .................. 145
1-3-3 #includeの使い方......................................... 146
1-3-4 #ifによる条件付きコンパイル .................... 147
1-4 デバイスヘッダファイルの役割 .................... 149
1-4-1 ヘッダファイルの呼び出し ........................ 149
1-4-2 デバイスヘッダファイルの内容 ............... 149
1-4-3 マクロ機能と組み込み関数の使い方 ....... 151
1-5 pragma指示命令の使い方 ............................. 153
1-6 コンパイラの最適化 .......................................... 156
1-6-1 最適化のレベルと最適化の内容................. 156
1-6-2 最適化の設定方法 ......................................... 156
1-6-3 最適化のサイズ見積もり ............................. 157

第2章●XCコンパイラの仕様..............................................................................................................159
2-1 準拠するC標準 .................................................. 160
2-1-1 C90標準とC99標準 .................................... 160
2-1-2 C90とC99の切り替え ................................ 160
2-2 変数のデータ型 .................................................. 161
2-2-1 変数の宣言書式 ............................................ 161
2-2-2 データ型の種類 ............................................. 162
2-2-3 データ型の修飾子 ......................................... 163
2-3 定数の書式と文字定数 ..................................... 164
2-3-1 定数の記述書式 ............................................. 164
2-3-2 定数の修飾 接尾語 ..................................... 165
2-3-3 文字の扱い ..................................................... 165
2-4 変数の宣言位置とスコープ ............................. 167
2-4-1 宣言位置とスコープ ..................................... 167
2-4-2 変数の格納方法 ............................................. 168
2-4-3 自動配置の変数(autoタイプ).................... 169
2-4-4 指定配置の変数(Non-autoタイプ)........... 169
2-4-5 実際の使用例 ................................................. 170
2-5 変数の型変換 ....................................................... 173
2-5-1 自動型変換(暗黙の型変換) ........................ 173
2-5-2 明示的型変換(キャスト) .............................174
2-6 標準入出力関数 .................................................. 175
2-6-1 コンソールデバイスと低レベル 入出力関数 ..................................................... 175
2-6-2 C90とC99の標準入出力関数の差異 .........176
2-6-3 標準入出力関数一覧 ..................................... 177
2-6-4 入出力関数の使い方 ..................................... 179

第3章●割り込み処理関数........................................................................................................................181
3-1 割り込み処理の流れとメリット .................... 182
3-1-1 割り込み処理の流れ ..................................... 182
3-1-2 割り込みのメリット ..................................... 183
3-2 割り込み要因と許可禁止 ................................. 184
3-2-1 割り込み回路ブロックの動作と 割り込み許可 ................................................. 184
3-2-2 割り込み関連レジスタの詳細..................... 186
3-2-3 割り込み動作の詳細 ..................................... 187
3-3 割り込み処理の記述方法 ................................. 188


第3部 MCCと内蔵モジュールの使い方 .................................................191
第1章●MCCの概要 ......................................................................................................................................191
1-1 MCCとは ............................................................. 192
1-1-1 MCCの役割と自動生成される内容........... 192
1-1-2 MCCの対応デバイス ................................... 193
1-2 MCCのインストール........................................ 194
1-2-1 最新バージョンのインストールの場合 .... 194
1-2-2 旧バージョンのインストールの場合 ........ 196
1-3 MCCの起動方法 ................................................ 199
1-3-1 MelodyとClassic ......................................... 199
1-3-2 Classicのライブラリの追加方法................201
1-4 MCCを使ったプログラミング手順 .............. 203
1-5 自動生成されるコードとその関係 ................ 205
1-6 MCCによる割り込み処理の記述 .................. 206
1-6-1 割り込み処理の流れ ..................................... 206
1-6-2 ユーザ割り込み処理の記述方法................. 207

第2章●システム関連の設定..................................................................................................................209
2-1 コンフィギュレーションビットと その設定方法 ....................................................... 210
2-1-1 コンフィギュレーションビットの役割 .... 210
2-1-2 コンフィギュレーションビットの 種類と内容 ..................................................... 210
2-1-3 MCCによるコンフィギュレーションビット の設定方法 ..................................................... 214
2-1-4 コンフィギュレーションビット設定専用 ダイアログの使い方 ..................................... 215
2-2 マイコンの実行速度を決める......................... 217
2-2-1 クロック生成ブロックの構成..................... 217
2-2-2 発振モードの種類 ......................................... 219
2-2-3 MCCによるクロック指定方法 ................... 220
2-2-4 内蔵クロックの周波数微調整..................... 222
2-3 時間を高精度にしたい ..................................... 222
2-3-1 クリスタル/セラミック発振子モードの 使い方 ............................................................. 222
2-3-2 外部発振器モードの使い方 ......................... 224
2-4 クロック発振の監視をしたい......................... 225
2-4-1 リファレンスクロックモジュールの 使い方 ............................................................. 225
2-4-2 クロック発振モニタ ..................................... 226
2-5 電源変動しても安定に動作させたい............ 227
2-5-1 リセットとは ................................................. 227
2-5-2 PORとBOR ................................................... 228
 
第3章●LEDやスイッチを使いたい .............................................................................................233
3-1 入出力ピンとは .................................................. 234
3-1-1 入出力ピンとSFRレジスタの関係 ............ 234
3-1-2 実際の使い方と電気的特性 ......................... 236
3-2 接続する入出力ピンを自由に選びたい ....... 239
3-2-1 ピン割り付け機能とは ................................. 239
3-2-2 MCCのPin Manager Gridによる ピン割り付け設定 ......................................... 239
3-3 入出力ピンのオプション機能......................... 240
3-3-1 MCCのPin Moduleの役割 ......................... 240
3-3-2 アナログ入力かデジタル入出力か............. 241
3-3-3 スイッチのプルアップ抵抗を省略したい... 242
3-3-4 電圧の異なる相手と接続したい................. 242
3-3-5 ピンに名前を付けるとその名前で関数が 生成される ..................................................... 243
3-3-6 その他のオプション機能 ............................. 244
3-3-7 突然の短時間の入力変化を知りたい ........ 245
3-4 入出力ピンの使い方の実際例......................... 247

第4章●一定のインターバルで実行したい .............................................................................249
4-1 長時間のインターバル動作をしたい ̶ タイマ0の使い方 ......................................... 250
4-1-1 16ビットモードのタイマ0の 内部構成と動作 ............................................. 250
4-1-2 16ビットモードのMCCの設定と 生成される関数の使い方 ............................. 251
4-1-3 例題による16ビットモードの 使い方の説明 ................................................. 253
4-1-4 8ビットモードのタイマ0の 内部構成と動作 ............................................. 255
4-1-5 8ビットモードのMCCの設定と 生成される関数 ............................................. 256
4-1-6 例題による8ビットモードの使い方の 説明 ................................................................. 257
4-2 ゲート制御でパルス幅を測定したい ̶ タイマ1/3/5の使い方 .................................. 259
4-2-1 タイマ1/3/5の内部構成と動作 .................. 259
4-2-2 MCCによる設定と生成される関数の 使い方 ............................................................. 262
4-2-3 例題によるタイマ1の使い方の説明 ......... 263
4-3 正確なインターバル動作をしたい ̶ タイマ2/4/6/8/10の使い方 ........................ 267
4-3-1 基本構成のタイマ2/4/6の 内部構成と動作 ............................................. 267
4-3-2 MCCによるタイマ2/4/6の設定と 生成される関数の使い方 ............................. 268
4-3-3 外部リセット付きタイマ2/4/6/8/10の 内部構成と動作 ............................................. 269
4-3-4 HLTタイマのMCCによる設定と 生成される関数の使い方 ............................. 273
4-3-5 例題によるHLTタイマの使い方の説明 .... 275
4-4 長周期パルスの高精度測定をしたい ̶ SMTタイマの使い方 ................................... 277
4-4-1 SMTの内部構成と動作 ................................ 277
4-4-2 MCCによる設定方法と生成される関数の 使い方 ............................................................. 280
4-4-3 例題によるSMTの使い方の説明 ............... 281

第5章●パソコンやセンサと通信したい ...................................................................................287
5-1 パソコンと通信したい ̶ EUSARTモジュールの使い方 ................. 288
5-1-1 同期式と非同期式とは ................................. 288
5-1-2 EUSARTモジュールの内部構成と動作 .... 290
5-1-3 マルチドロップ方式と9ビットモードの 使い方 ............................................................. 291
5-1-4 MCCによる設定と生成される関数の 使い方 ............................................................. 292
5-1-5 パソコンとの通信の例題 ̶ 割り込みを 使わないEUSARTの使い方 ........................ 295
5-1-6 標準入出力関数による例題 ......................... 298
5-1-7 パソコンとの通信の例題 ̶ 割り込みを 使ったEUSARTの使い方 ............................ 300
5-2 センサやLCDをデジタル通信で接続したい ̶ I2 Cモジュールの使い方 ............................. 304
5-2-1 I 2 C通信とは ................................................... 304
5-2-2 I 2 C通信データフォーマット....................... 306
5-2-3 MSSPモジュール(I 2 Cモード)の 内部構成と動作 ............................................. 307
5-2-4 MCCによるMSSP(I 2 Cマスタモード)の 設定と生成される関数の使い方................. 310
5-2-5 MCCによるMSSP(I 2 Cスレーブモード)の 設定と生成される関数の使い方..................311
5-2-6 例題によるMSSPモジュール(I 2 Cモード)の 使い方 ............................................................. 314
5-2-7 接続デバイスの仕様 ..................................... 316
5-2-8 MCCによる例題のI 2 Cマスタ側の プログラム製作 ............................................. 319
5-2-9 MCCによるI 2 Cスレーブ側の プログラム製作 ............................................. 322
5-2-10 例題の動作確認 ............................................. 325
5-3 ICやセンサを高速で接続したい ̶ SPIモジュールの使い方 ............................ 326
5-3-1 SPI通信とは .................................................. 326
5-3-2 SPIの4つの通信モード ............................... 327
5-3-3 MSSPモジュール(SPIモード)の 内部構成と動作 ............................................. 329
5-3-4 MCCによるMSSP2(SPIマスタモード)の 設定と生成される関数の使い方................. 330
5-3-5 MCCによるMSSP2(SPIスレーブモード)の 設定と生成される関数の使い方................. 332
5-3-6 例題によるMSSPモジュール(SPIモード)の 使い方 ............................................................. 333
5-3-7 接続デバイスの仕様 ..................................... 335
5-3-8 SPIマスタ側のプログラム製作 .................. 336
5-3-9 MCCによるSPIスレーブ側の プログラム製作 ............................................. 339
5-3-10 例題の動作確認 ............................................. 34
1 5-4 センサを単線シリアル通信で接続したい ... 342
5-4-1 1-Wire通信とは............................................. 342
5-4-2 単線シリアル通信の温湿度センサの 使い方 ............................................................. 343
5-4-3 例題による単線シリアル通信の使い方 .... 345
5-4-4 MCCによる例題プログラム製作 ............... 346

第6章●モータの速度制御やLEDの調光制御をしたい.............................................349
6-1 パルス幅測定やPWM制御をしたい ̶ CCPモジュールの使い方 .......................... 350
6-1-1 パルス幅、周期の測定をしたい ̶ キャプチャモード ................................... 350
6-1-2 一定の遅延を生成したい ̶ コンペアモード ....................................... 351
6-1-3 PWM制御をしたい ̶ CCPモジュールの PWMモード ................................................... 352
6-1-4 フルブリッジをPWM制御したい ̶ ECCPモジュールのPWMモード ........ 354
6-1-5 MCCによるCCPモジュールの設定と 生成される関数の使い方 ............................. 356
6-1-6 例題によるCCPモジュールの キャプチャモードの使い方 ......................... 359
6-1-7 例題のプログラム作成 ................................. 360
6-1-8 LEDの調光制御の例題 ̶ CCPのPWMモードの使い方 ................ 362
6-1-9 例題のプログラム作成 ................................. 363
6-2 Power LEDの調光制御をしたい ̶ PWMモジュールの使い方......................... 366
6-2-1 10ビット PWMモジュールの 内部構成と動作 ............................................. 366
6-2-2 MCCによるPWMモジュールの設定と 生成される関数の使い方 ............................. 367
6-2-3 Power LEDの調光制御の例題 ̶ PWMモジュールの使い方 ..................... 367
6-2-4 例題のプログラム作成 ................................. 368
6-3 モータの速度制御をしたい ̶ CWGモジュールの使い方......................... 370
6-3-1 CWGモジュールの構成と動作 .................. 370
6-3-2 MCCによるCWGモジュールの設定と 生成される関数の使い方 ............................. 373
6-3-3 フルブリッジによるモータ制御の例題 ̶ CWGモジュールの使い方 ......................374
6-3-4 例題のプログラム作成 ................................. 375

第7章●いろいろな種類のパルスを生成したい .................................................................377
7-1 広範囲の周波数のパルスを生成したい ̶ NCOモジュールの使い方 ................................378
7-1-1 NCOモジュールの内部構成と動作 .......... 378
7-1-2 MCCによるNCOモジュールの設定方法と 生成される関数の使い方 ............................. 379
7-1-3 例題によるNCOモジュールの使い方 ̶ 1Hz単位のパルス出力 ............................ 381
7-1-4 MCCによる例題のプログラム作成........... 382
7-1-5 書き込みと動作確認 ..................................... 384
7-2 信号を変調したい ̶ DSMモジュールの使い方.......................... 385
7-2-1 DSMモジュールの内部構成と動作 .......... 385
7-2-2 MCCによるDSMモジュールの設定と 生成される関数の使い方 ............................. 387
7-2-3 例題によるDSMモジュールの使い方....... 388 7
-2-4 送信側のプログラム製作 ............................. 390
7-2-5 受信側のプログラムの製作 ......................... 394
7-2-6 書き込みと動作確認 ..................................... 397
7-3 特殊なパルスを生成したい ̶ 16ビットPWMモジュールの使い方 .............. 398
7-3-1 16ビットPWMの内部構成と動作 ............. 398
7-3-2 MCCによる16ビットPWMの設定方法と 生成される関数の使い方 ............................. 402
7-3-3 例題による16ビットPWMの使い方 ̶ RCサーボの使い方 ................................. 403
7-3-4 例題のプログラム作成 ................................. 404

第8章●消えないメモリにデータを保存したい .................................................................407
8-1 内蔵の消えないメモリを使いたい ̶ EEPROMの使い方 ...................................... 408
8-1-1 データEEPROMメモリの 内部構成と動作 ............................................ 408
8-1-2 MCCによるEEPROMの使い方 ................. 408
8-1-3 例題によるEEPROMの使い方 ̶ EEPROMの読み書き .............................. 409
8-1-4 書き込みと動作確認 ......................................411
8-2 内蔵のフラッシュメモリにデータを 保存したい ........................................................... 412
8-2-1 フラッシュメモリの内部構成と動作 ........ 413
8-2-2 フラッシュメモリのMCCによる設定と 関数の使い方 ................................................. 415
8-2-3 例題によるフラッシュメモリの使い方 .... 415
8-2-4 書き込みと動作確認 ..................................... 417
8-3 外付けの大容量フラッシュメモリにデータを 保存したい ........................................................... 418
8-3-1 フラッシュメモリの使い方 ......................... 418
8-3-2 例題によるフラッシュメモリの使い方 .... 420
8-3-3 例題のプログラム作成 ................................. 421
8-3-4 書き込みと動作確認 ..................................... 426

第9章●センサなどの電圧や電流を扱いたい .......................................................................427
9-1 センサなどの電圧や電流を計測したい ̶ 10/12ビットADコンバータの使い方 .... 428
9-1-1 10/12ビットADコンバータの 内部構成と動作 ............................................. 428
9-1-2 10ビットADコンバータのMCCの設定と 生成される関数の使い方 ............................. 431
9-1-3 例題による10ビットADCモジュールの 使い方 ...................................................................432
9-2 ノイズを減らして電圧を計測したい ̶ 演算機能付きADCCの使い方 .................. 435
9-2-1 ADCCコンバータモジュールの 内部構成と動作 ............................................. 436
9-2-2 MCCの設定方法と生成される関数の 使い方 ............................................................. 438
9-2-3 例題によるBasic_modeの使い方............. 440
9-2-4 例題によるADCCのAverage_modeの 使い方 ............................................................. 441
9-2-5 例題によるLow_pass_filter_modeの 使い方 ............................................................. 444
9-2-6 例題によるAccumulate_modeの使い方 ... 446
9-3 音やセンサなどの瞬時電圧変化を知りたい ̶ アナログコンパレータの使い方 ................... 449
9-3-1 コンパレータの内部構成と動作................. 449
9-3-2 MCCの設定方法と生成される関数の 使い方 ............................................................. 450
9-3-3 例題によるコンパレータの使い方............. 451
9-4 交流信号の位相を制御したい ̶ ZCDの使い方 ................................................ 454
9-4-1 ZCDモジュールの内部構成と動作............ 454
9-4-2 ZCDのMCCの設定方法と生成される 関数の使い方 ................................................. 45
5 9-4-3 例題によるZCDの使い方 ........................... 455
9-5 任意の一定電圧を出力したい ̶ 5/10ビットDAコンバータの使い方 ....... 459
9-5-1 5/8/10ビットDAコンバータの 内部構成と動作 ............................................. 459
9-5-2 MCCによるDAコンバータの設定方法と 生成される関数の使い方 ............................. 460
9-5-3 FVRモジュールの内部構成と動作 ............ 461
9-5-4 例題によるDAコンバータの使い方 .......... 462
9-6 センサなどの小さな電圧を増幅したい ̶ オペアンプの使い方 .................................... 465
9-6-1 オペアンプの内部構成と動作..................... 465
9-6-2 オペアンプのMCCの設定方法 .................. 469
9-6-3 例題によるオペアンプの使い方................. 470

第10章●その他の内蔵モジュールの使い方 ..........................................................................475
10-1 内蔵モジュールの入出力を合成したい ̶ CLCモジュールの使い方 ......................... 476
10-1-1 CLCモジュールの内部構成と動作 .......... 476
10-1-2 CLCのMCCの設定方法 ............................ 478
10-1-3 例題によるCLCの使い方 .......................... 478
10-2 極低消費電力にしたい ̶ スリープと 間欠動作 .............................................................. 486
10-2-1 省電力モードの種類と動作 ....................... 486
10-2-2 スリープと間欠動作 ................................... 488
10-2-3 例題 WDTによる間欠動作 ...................... 489
10-3 プログラムの異常動作を知りたい ̶ WDTの使い方 .............................................. 491
10-3-1 プログラム異常監視とは ........................... 491
10-3-2 ウォッチドッグタイマ(WDT)の 内部構成と動作............................................ 492
10-3-3 窓付きウォッチドッグタイマ(WWDT)の 内部構成と動作............................................ 493
10-4 メモリ破壊の監視をしたい ̶ CRCとSCANの使い方 ............................ 494
10-4-1 CRCモジュールとSCANモジュールの 内部構成と動作............................................ 494
10-4-2 CRCモジュールとSCANモジュールの MCCの設定と生成される関数の使い方... 495
10-4-3 例題によるCRCモジュールと SCANモジュールの使い方........................ 498

第11章●ミドルウェアの使い方.........................................................................................................501
11-1 SDカードにデータを保存したい ̶ FATファイルシステムの使い方 ............. 502
11-1-1 FATファイルシステムとは ......................... 502
11-1-2 例題の構成 ..................................................... 503
11-1-3 MCCによる設定方法と生成される関数の 使い方 ............................................................. 504
11-1-4 例題のプログラム作成 ................................. 509