この記事は PICマイコン Advent Calendar 2025 9日目の記事です。
1. はじめに
今回はPICマイコンでLチカを行います。
前回はレジスタを直接操作しましたが、今回はMCC(MPLAB Code Configurator)を使って簡単に行う方法を紹介します。
2.使用マイコン
本記事ではPIC24Fファミリに属するPIC24FJ64GB002を使用します。
LEDはRB10とRB11に接続しています。
秋月電子で販売されているマイコンなので入手性は良いと思います。
3.MCCでの設定
プロジェクトを作成する際に「Open MCC on Finish」にチェックを入れておくと、プロジェクト作成後にMCCが自動で開きます。
今回のクロック設定はMCCの初期設定のままで使用します。
まずGPIOの設定を行います。
Pin ManagerにあるPin ModuleのOutput欄で、RB10とRB11をOutputに設定します。
GPIOにユーザー定義のカスタムネームをつけます。
今回はRB10をLED1、RB11をLED2としました。
設定が完了したらGenerateボタンを押して、コードを生成します。
4.main.cの編集
delayを使用するため、まずFCYをdefineします。
このFCYはMCCのSYSTEM Moduleのクロック設定の項目にあるFosc/2と対応しています。
FCYをdefineした後、libpic30.hをincludeすると、__delay_msや__delay_us関数が使用できます。
LEDをHighにするには*_SetHigh関数、Lowにするには*_SetLow関数を使用します。
トグルには*_Toggle関数を使います。
生成されたコードにあるSYSTEM_Initialize関数を呼ぶと、基本的な設定がすべて適用されます。
コード例
#include "mcc_generated_files/system.h"
#include "mcc_generated_files/pin_manager.h"
#define FCY 2000000
#include <libpic30.h>
/*
Main application
*/
int main(void)
{
// initialize the device
SYSTEM_Initialize();
LED1_SetHigh();
while (1)
{
// Add your application code
LED2_Toggle();
__delay_ms(1000);
}
return 1;
}
5.書き込み
書き込みは MPLAB X IDE 上で行います。
初めての場合は書き込み機を選択する必要があります。私は MPLAB Snap を使用しているため Snap を選択しました。
正常に書き込めた場合、LEDが点滅します。
書き込みがうまくいかない場合は以下を確認してください。
-
プロジェクトが Set as main project に設定されているか
-
PIC24FJ64GB002でプロジェクトを作成できているか
-
プロジェクトの Properties で ToolがSimulation になっていないか
6.おわりに
MCCを使うと、基本的な設定の初期化コードを自動で生成できるため、効率的に開発が可能です。
前回の記事でレジスタを手打ちしたときと比べると、クロックやConfiguration Bits、アナログピンの設定を気にせずに済むので、かなり短時間で動かせます。
どれだけ簡単になったか知りたい方は、ぜひ前回の記事も読んでみてください。
前回の記事は以下のリンクです

