2016年2月29日月曜日

PIC32MX120F032BでLEDチカチカさせてみた

PIC32MXを勉強すべく、まずはLEDをチカチカさせるプログラムから。
以前の記事、「【PIC入門】MPLABとXC8をインストール、PICKIT3を接続など簡単な回路を動かすまでのまとめ」の環境(MPLAB、PICKIT3)が揃ってる状態からスタート。

手順1. 32bit向けにコンパイルするXC32のインストール

今まで使ってたPICが8bitだったのでXC8を使っていたが、PIC32MXは32bitなのでコンパイラが違う。xc32は無料版も出てるようなのでそれをインストールした。

手順2. プログラム用意

XC32をインストールすると「C:\Program Files (x86)\Microchip\xc32\v1.40\examples\xc32_examples」にサンプルプログラムが見つかる。
led_message というのが今回やりたいことに近そうなのでこれのコンフィグを参考にした。
それで作ったプログラムがつぎのようなもの。

#include <xc.h>

#pragma config FPLLMUL = MUL_20, FPLLIDIV = DIV_2, FPLLODIV = DIV_1, FWDTEN = OFF
#pragma config POSCMOD = HS, FNOSC = PRIPLL, FPBDIV = DIV_8

#define SHORT_DELAY (50*8)
#define LONG_DELAY (400*8)

void wait(void){
    TMR1 =  0;
    while ( TMR1 < SHORT_DELAY){}
}

int main(void)
{
    // disable JTAG port
    DDPCONbits.JTAGEN = 0;

    // 3.1 variable declarations
    int i;           // i will serve as the index

    // 3.2 initialization
    TRISA = 0;      // all PORTA as output
    T1CON = 0x8030; // TMR1 on, prescale 1:256 PB

    // 3.3 the main loop
    while(1)
    {
        // 3.3.2 long pause, hand moving back to the left
        PORTA = 0;      // turn LEDs off
        wait();
        PORTA = 1;      // turn LEDs on
        wait();
    } // main loop

}


手順3. PICKIT3でICSPする回路用意

コメを噛めっていうサイトの「PIC32MX220F032B でLEDチカチカ」がものすごく参考になる。
なにより、PICKIT3の接続が分かりやすくてよかった。(次の図が引用です)

この通りブレッドボードで配置すればOK!


手順4. 実行



このPICを使いこなせるように頑張ろう。