I have a Picstart Plus too, and it does not erase the factory osccal calibration instruction/value. That's why you receive the messaage "Calibration memory already programmed" when you program the 12F part with a Picstart Plus.
An easy way to check any programmer is to first read the part, record the value shown in the last program memory location (that's your factory osccal calibration value) as mentioned before.
Then erase it. Re-read it, and see if this has changed. Most programmers won't automatically erase this location. Some will first read it, store it in memory, then program it right back in.
DEFINE OSCAL_1K 1 only causes program flow to jump to the last program memory location, and load the factory osccal calibration value. It has nothing to do with erasing anything.
The MeLabs Serial programmer will erase this location, but only if you have this option enabled as mentioned previously.




Bookmarks