Hello,
I having a heck of a time reprogramming a board with a 12F615 on it. The first program will download and verify just fine. After that, there are errors in different program memory locations:
Address: 00000000 Expected Value: 00002851 Received Value: 00002810
Programming failed
I suspect that I need to use my pickit2 instead of my pickit3...but I've also tried an ICD2 and an ICD3. my pickit2 is back at home.
I read through this: (the 2nd post)
http://www.microchip.com/forums/m576596-print.aspx
and then I set my icsp data and clock pins to be inputs instead of outputs - I'm not using them for anything else, there is nothing connected to them except the programming header. Also, I put in the pause command early in the program.
I figured that had to be what was going on.. programmed a new chip with the modified code...but I still can't reprogram
here is the program. I've got a thermistor voltage divider coming into GP2 and I've got GP4 controlling a fet acting as a low side switch. 10K pullup on MCLR, and the 5 pin programming header, and thats it.
Code:@ __CONFIG _CP_OFF & _WDT_OFF & _BOR_OFF & _MCLRE_ON & _PWRTE_OFF & _INTRC_OSC_NOCLKOUT & _IOSCFS_4MHZ 'CLEARWDT 'picbasic will insert watchdog clears throughout the program ' Hardware configuration ' ====================== PAUSE 1000 DEFINE OSC 4 'tell picbasic how fast the clock is DEFINE ADC_BITS 10 ' Set number of bits in result (8, 10 or 12) DEFINE ADC_CLOCK 3 ' Set clock source (rc =3) DEFINE ADC_SAMPLEUS 50 ' Set sampling ADCON0 = %10001000 'RIGHT JUSTIFIED, VDD reference ANSEL = %00000100 'GP2 is analog GPIO = 0 'pins are set low, BEFORE assigning output pins to be outputs TRISIO.0= 1 '0 = output 'GPIO.0 = PIN7 (icsp DATA) TRISIO.1= 1 'GPIO.1 = PIN6 (ICSP CLOCK) TRISIO.2= 1 'GPIO.2 = PIN5 analog input TRISIO.3= 1 'GP3 = input only 'GPIO.3 = PIN4 TRISIO.4= 0 'GPIO.4 = PIN3 TRISIO.5= 0 'GPIO.5 = PIN2 POWERSWITCH VAR GPIO.4 TESTLED VAR GPIO.5 ADvalue VAR WORD Main: ADCIN 2, ADvalue IF ADvalue > 275 THEN POWERSWITCH = 0 pause 200 POWERSWITCH = 1 pause 75 ELSE POWERSWITCH = 1 ENDIF goto Main 'loop back up to main END






Bookmarks