Mike Hord wrote: >Will it, really? Many devices which can't operate above, say, 3.5V, >will tolerate 5V+ on their I/O pins. Check your device's Absolute >Maximum ratings. Unfortunately, the inputs of the device in question aren't 5V tolerant. They are rated from -0.3V to Vdd+0.3V (in other words, they have input protection diodes up to Vdd) and the absolute maximum Vdd-Gnd is +3.9V. >I've always understood PICs to powerup with their I/O lines set to >input; i.e., high impedance. If you write your code to respect this, >to not make the lines outputs and drive them high until after you >KNOW the device isn't being reprogrammed, then no worries. It occurred to me that I could use a spare input (which I don't have at the moment :-) to allow my code to sense that a programmer is connected and therefore keep the output lines at a high-impedance state. I don't think there's an automatic way of doing this, though -- as far as the PIC is concerned, if the code is running then it isn't in programming mode (although Vdd may be raised to +5V, which is the issue here). >Furthermore, you should check the spec again. Usually, the only >time a voltage above Vmin is required is for a block erase, which >may not be a problem, because not all programmers perform a >block erase of the program memory before programming. I've checked the data sheet and errata of the PIC16F688 against those of the PIC16F684, PIC16F818 and PIC16F628A/648A, and it's a mixed picture. Apparently, the '688 and '684 both require 4.5V to 5.5V for erase *and* write, whereas the '818 can read, erase and write anywhere between Vmin and 5.5V. The '628A/'648A require 4.5V to 5.5V for block erase, and some early silicon revisions also place the same constraint on writes. I imagine that the design intention was to have a wide Vdd range for programming, but that testing of the silicon revealed that this wasn't realised, at least in the early silicon. -- Ian Chapman Chapmip Technology, UK -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist