(2016/3/13)
注意:この製作例は、参考サイトを元に実験しています。例えばデーターシートと比べて、Vcapの値が小さい、水晶発振子のコンデンサが無いなどの相違があることをご了承下さい。そもそもブレッドボードで動かしている事が電気的に推奨されません。
部品はPIC32MX220F032B、ブレッドボード、10Ω、10KΩ、0.1uFx4、0.01uF、330Ω、LED、10MHzクロックと配線ジャンパーである。15分位で製作できた。
セラロックを外した状態。
まずは基板を作る。
ブレッドボードでの作例があるので、それを見ながら作成。10MHzの部分水晶を使っているが、今回はセラロックを使って、この様に配線しておいた。
ピン配列を見てPICkit3と接続。1ピンがVPP、4ピンがPCD、5ピンがPGC、残る電源2本を接続。
プログラマはPICkit3。これと接続コードを使ってブレッドボードと接続する。私はICD2のコードを使用。
Language tools suiteは XC32を使用。
別途ダウンロードが必要だ。Active tool suiteをセットするだけで普通は自動的に他のパラメータも設定される。
デバイスは上記の通りに設定。
今回のconfigはプログラムに埋めず、手動で設定していった。
チュートリアルと大体合っているはずである。でも、これを毎回設定するのは大変。もう少し調べたら、その方法がわかった。
#pragma config PMDL1WAY = OFF
#pragma config IOL1WAY = OFF
#pragma config FUSBIDIO = ON
#pragma config FVBUSONIO = ON
#pragma config FPLLIDIV = DIV_2
#pragma config FPLLMUL = MUL_16
#pragma config UPLLIDIV = DIV_5
#pragma config UPLLEN = OFF
#pragma config FPLLODIV = DIV_2
#pragma config FNOSC = PRIPLL
#pragma config FSOSCEN = OFF
#pragma config IESO = OFF
#pragma config POSCMOD = HS
#pragma config OSCIOFNC = OFF
#pragma config FPBDIV = DIV_2
#pragma config FCKSM = CSDCMD
#pragma config WDTPS = PS1
#pragma config WINDIS = OFF
#pragma config FWDTEN = OFF
#pragma config FWDTWINSZ = WISZ_25
#pragma config JTAGEN = OFF
#pragma config ICESEL = ICS_PGx1
#pragma config PWP = OFF
#pragma config BWP = OFF
#pragma config CP = OFF
configは#incleude <plib.h>の後に、この様に書くとプログラムで設定される。
設定方法はC:\Program Files\Microchip\xc32\v1.00\doc\hlpPIC32MXConfigSet.chm
を開くと、パラメーター設定値が分かるようになっている。
重要な情報はXC32がインストールされた以下の所から
document files
C:\Program Files\Microchip\xc32\v1.00\doc
setting help
C:\Program Files\Microchip\xc32\v1.00\doc\hlpPIC32MXConfigSet.chm
header files
C:\Program Files\Microchip\xc32\v1.00\pic32mx\include\proc\p32mx220f032b.h
#include <plib.h>
int main() {
int count=0;
mPORTBDirection(0);
while(1){
mPORTBToggleBits(BIT_7);
while(count){
count--;
}
count=1000000;
}
return (EXIT_SUCCESS);
}
プログラムは、簡単なループ。main.cは上記のプログラムを貼り付けて、ビルド。
エラーがなければ、プログラマにPICkit3を指定して、
電源を入れて、書き込む。成功すればLEDがチカチカと点滅する。
ハードウェアのHello world であるLEDチカチカができたので、EE Design Labsの
次の課題として4ch USARTがあるからやってみようと思う。
果たして積みプラモ(プラモデルを作らないで箱を積んでいる事からの由来)ならぬ、積みデバイス、積みPIC、積みCPUになるか (´・ω・`)
このデバイスは公式にはPICkit2では書き込めないが、
pic32progなるものが存在するらしい。
最近のコメント