「PIC32MM0064GPL028 – Lチカ用の回路の準備。 –」あるいは「PIC32MM0064GPL028 – Lチカ用の回路の準備(DIP編) –」の続き。
いよいよ、MPLAB Code Configurator(MCC)を使ってTimer1の割り込みでLチカさせてみる。
PIC32なんだからHarmonyが使えるのかと思ったら、このチップがリストに無かった。
MPLAB Code Configuratorは対応しているようだ。
このあたりの棲み分けがずっと分からずにいる。
両方対応しているものもあるし、よくわからない。
ちなみに、PIC32MMでMCCが対応しているのは以下のチップだ(2016/10/25)。
1 2 3 4 5 6 7 8 9 |
PIC32MM0064GPL036 PIC32MM0016GPL036 PIC32MM0032GPL036 PIC32MM0016GPL020 PIC32MM0032GPL020 PIC32MM0064GPL020 PIC32MM0016GPL028 PIC32MM0032GPL028 PIC32MM0064GPL028 |
プロジェクトを作り、MCCを起動する。
まずSystemまわりを設定する。
初期設定から変更した部分を赤で囲ってあるが、MCCのバージョンによってこの初期設定が違うような気もするので、他も変更が必要かもしれない。
LEDを3つつけてみる。
Analogにチェックが入ってないことを確認する。
私の環境ではRA0とRB15にチェックが入っていたので外した。
Timer1を使う。
500msで点滅させる。
Generate
tmr1.cからTMR1_Start( void )をコピペしてきて、
main.cのint main(void){のSYSTEM_Initialize();の次あたりへコピペし、voidを消してセミコロンを入れる。
tmr1.cへ戻って、TMR1_ISR()に
1 2 3 |
LATAbits.LATA0 ^= 1; LATBbits.LATB7 ^= 1; LATBbits.LATB15 ^= 1; |
を書き込む(※)。
今までのところ、まともなキー入力はこれが最初だ。
ビルドする。
PICに書き込む。
Lチカ完成。
LチカだけならArduino並みの簡単さだ。
データシートを1度も見てない。
実際のブレッドボードの写真。
2, 16, 26の各ピンから>抵抗>LED>GND と3組のLEDと電流制限抵抗をつないである。
PICkit3との接続は、白=GND、赤=電源、緑=MCLR(1ピン)、茶=PGD1(4ピン)、青=PGC1(5ピン)に配線してある。
(※)
TMR1_ISR(){でなくTMR1_CallBack( void ){に書く方があとで融通が利くのかもしれない。
ここでは、callbackをカウントせずに済む設定なのでどちらでもいい。
追記(2021/09/18)
クロックは4つから選択できる。
ダイアグラムでは以下のようになっている。
LPRCは32kHzの内部クロック、PBCLKは8MHzの内部クロック、SOSCは外部接続のクロックだ。
T1CKは18ピンからの外部入力だ。
上でもやったように、普通はPBCLKを使うことになるだろう。
「PIC32MM0064GPL028 – MPLAB Code Configuratorを使ってUART1でシリアル出力させてみる。 –」へ続く。
Tweet