2018-10-06に更新

PIC12F675でLED点滅

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

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

|c|

include

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の記事とかを見て参考にしてしまったんだと思う)

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

ツイッターでシェア
みんなに共有、忘れないようにメモ

だら@Crieit開発者

Crieitの開発者です。 Webエンジニアです(在宅)。大体10年ちょい。 記事でわかりにくいところがあればDMで質問していただくか、案件発注してください。 業務依頼、同業種の方からのコンタクトなどお気軽にご連絡ください。 業務経験有:PHP, MySQL, Laravel, React, Flutter, Vue.js, Node, RoR 趣味:Elixir, Phoenix, Nuxt, Express, GCP, AWS等色々 PHPフレームワークちいたんの作者

Crieitは誰でも投稿できるサービスです。 是非記事の投稿をお願いします。どんな軽い内容でも投稿できます。

また、「こんな記事が読みたいけど見つからない!」という方は是非記事投稿リクエストボードへ!

有料記事を販売できるようになりました!

こじんまりと作業ログやメモ、進捗を書き残しておきたい方はボード機能をご利用ください。
ボードとは?

コメント