http://blog.livedoor.jp/yokoshima_m/archives/27109112.htmlにもあったが、
MPLAB X IDE v6.25では、PICkit3がサポートされなくなったようです。以前のバージョン(v6.20)では動作していたものの、v6.25以降はGen3ツール(PICkit3、MPLAB ICD 3、MPLAB REAL ICEなど)が非対応になったとのことです。
もしPICkit3を使い続けたい場合は、MPLAB X IDE v6.20にダウングレードするか、PICkit4またはPICkit5にアップグレードするのが推奨されています。
上記のcopilotのアドバイスでwindows11に6.25と別に6.2を入れたら動いた
https://aisumegane.com/how-to-start-pic-microcontroller/
にあるようにpower=4.625vにした
(IDEから5vは認識できない4.625vを認識したとでたので)
このサイトにあるようにmpu切り欠きをJ2のそばの30にあわせること!
(1827,18313の場合 つまりミッドレンジ8ビットの場合だが)
矢印がmclr、以下vcc,gnd,pgd,pgcだった,mclrとvccは10kΩの抵抗でつないだ工作あり(出所不明だが、たぶん吉野さんからの情報)上記の接続だが、しっかりつながんと
よく失敗する 今後はsnapへ移行!(LVP=onで焼き直したのでOKになった)
http://zattouka.net/GarageHouse/micon/MPLAB/16F1827/LEDblink/LEDblink.htm より
#include <xc.h>
#define _XTAL_FREQ 8000000 // delay用(クロック8MHzで動作時)
// コンフィギュレーション1の設定
#pragma config FOSC = INTOSC // 内部クロックを使用する(INTOSC)
#pragma config WDTE = OFF // ウオッチドッグタイマー無し(OFF)
#pragma config PWRTE = ON // 電源ONから64ms後にプログラムを開始する(ON)
#pragma config MCLRE = OFF // 外部リセット信号は使用せずにデジタル入力(RA5)ピンとする(OFF)
#pragma config CP = OFF // プログラムメモリーを保護しない(OFF)
#pragma config CPD = OFF // データメモリーを保護しない(OFF)
#pragma config BOREN = ON // 電源電圧降下常時監視機能ON(ON)
#pragma config CLKOUTEN = OFF // CLKOUTピンをRA6ピンで使用する(OFF)
#pragma config IESO = OFF // 外部・内部クロックの切替えでの起動はなし(OFF)
#pragma config FCMEN = OFF // 外部クロック監視しない(FCMEN_OFF)
// コンフィギュレーション2の設定
#pragma config WRT = OFF // Flashメモリーを保護しない(OFF)
#pragma config PLLEN = OFF // 動作クロックを32MHzでは動作させない(OFF)
#pragma config STVREN = ON // スタックがオーバフローやアンダーフローしたらリセットをする(ON)
#pragma config BORV = HI // 電源電圧降下常時監視電圧(2.5V)設定(HI)
#pragma config LVP = ON // 低電圧プログラミング機能使用するにした(snapでも使えるように!)
// 指定した時間(num x 10ms)だけウエイトを行う処理関数
void Wait(unsigned int num)
{
int i ;
// numで指定した回数だけ繰り返す
for (i=0 ; i<num ; i++) {
__delay_ms(10) ; // 10msプログラムの一時停止
}
}
// メインの処理関数
void main()
{
OSCCON = 0b01110010 ; // 内部クロックは8MHzとする
ANSELA = 0b00000000 ; // AN0-AN4は使用しない全てデジタルI/Oとする
ANSELB = 0b00000000 ; // AN5-AN11は使用しない全てデジタルI/Oとする
TRISA = 0b00000000 ; // ピン(RA)は全て出力に割当てる(RA5は入力のみとなる)
TRISB = 0b00000000 ; // ピン(RB)は全て出力に割当てる
PORTA = 0b00000000 ; // RA出力ピンの初期化(全てLOWにする)
PORTB = 0b00000000 ; // RB出力ピンの初期化(全てLOWにする)
// 約1s毎にLEDの点滅を繰り返す
while(1) {
RB4 = 1 ; // 10番ピン(RB4)にHIGH(5V)を出力する(LED ON)
Wait(100) ; // 1秒ウエイト
RB4 = 0 ; // 10番ピン(RB4)にLOW(0V)を出力する(LED OFF)
Wait(100) ;
}
}これで焼き直した1827/18313だがsnapで焼けるはず。。。楽しみだ
pickit3は焼きが不安定なのでLVP=OFFで焼いてしまったときの焼き直しくらいにしておこう

0 件のコメント:
コメントを投稿