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

PIC12F675でLED点滅

PIC12F675

arduinoは簡単すぎて素人でもすぐになんでもできるが
PICは色々難しそうなのでなるべく細かいことも
備忘録として残しておくことにする。

とりあえずLED点滅が出来たのでメモ。
環境は次の通り。
・MPLAB X IDE v2.0
コンパイラはXC8
・pickit3使用
・書き込み&テスト回路は下記
ブレッドボードとPICKit3でPICに書き込む
ピンソケットを買い忘れピンヘッダばっかり買ってたので
pickit3と回路はジャンパーワイヤでそのままつないだ。
・プログラムはLEDを点滅させるを参考にして改変して
下記のようになった。
__CONFIGではなくpragmaで書くようになっているらしい。

#include <xc.h>
#pragma config FOSC = INTRCIO, WDTE = OFF, PWRTE = ON, O, MCLRE = OFF
#define LED GPIO4
#define _XTAL_FREQ 4000000

int main(void)
{
    GPIO = 0;
    CMCON = 0x07;
    TRISIO = 0;
    ANSEL = 0b00110000;
    OPTION_REG = 0b10000010;

    while(1) {
        LED = 1;
        __delay_ms(65);
        LED = 0;
        __delay_ms(65);
    }

    return 0;
}


すぐ成功するかな〜と思ったけど数時間かかった。
問題は書き込みの失敗。
Failed to program device
というエラーがでて全く書き込みが出来なかった。
IDE、IPEどちらでもいろいろ試してみたがダメ。

結局問題は電源供給だった。
ネットで検索すると、pickit3からの電源供給を
3.25としているところが多かったのでそれに見習ってやっていたのだが、
ダメ元4.5にしてみたところあっさり書込みでき、LEDが光った。
このあたり素人にはむずかしいところだ…。
(追記:3.25は多分PIC24の記事とかを見て参考にしてしまったんだと思う)

まあなにはともあれ動かすことが出来たので
引き続き色々試していきたい。