読者です 読者をやめる 読者になる 読者になる
一人もくもく会 α verでサービス開始しました。

PIC32MX220F032BでLED点灯

PIC32MX220F032Bも買っていたのでLED点灯のテスト。
PIC24のテスト用基板を作ろうと思っていたのだが、
データシートを見る限り最小回路がほとんど同じなので
32の方もほとんど同じ回路で試してすぐに成功したら
24と32両方対応の回路にしてしまおうかと思って先に試してみた。

んで試してみた。回路は
PIC24FJ64GB002でLED点灯
とほとんど同じ。
違いは24の方はVUSBに特に処理はしていないが、
32の方はUSBを使わない場合VUSBをVddにつなぐ必要がある。

でまあサンプルを実行してみたらすぐ成功した。
しかし24までとソースが違いすぎてびびった。

#include <xc.h>
#include <plib.h>

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

#define SYS_FREQ 			(80000000L)

int main(void)
{
    int i;

    SYSTEMConfig(SYS_FREQ, SYS_CFG_WAIT_STATES | SYS_CFG_PCACHE);
    mJTAGPortEnable(DEBUG_JTAGPORT_OFF);
    mPORTAClearBits(BIT_7 | BIT_6 | BIT_5 | BIT_5 | BIT_4 | \
                                                     BIT_3 | BIT_2 | BIT_1 | BIT_0 );
    mPORTASetPinsDigitalOut( BIT_7 | BIT_6 | BIT_5 | BIT_5 | BIT_4 | \
                                                     BIT_3 | BIT_2 | BIT_1 | BIT_0 );

    while(1)
    {
            mPORTAToggleBits(BIT_7 | BIT_6 | BIT_5 | BIT_5 | BIT_4 | \
                                                     BIT_3 | BIT_2 | BIT_1 | BIT_0 );
            i = 1024*1024;
            while(i--);
    }
}

xc.hを追加。
もともとplib.hというのがインクルードされているのだが、
これでmPORTA****という関数を使用できるようにしている。
これでLATを書き換えているみたい。
こんなのは要らないからPWMOnとかSPIReadの関数を追加してほしいな…。