Good day to all. I thought I'd share a discovery that cost me much time to figure out. I had posted earlier (EE topic tag) about the input buffers in Port C changing thresholds between the 16F630 and 16F631. This appears to affect all of the variants in that family: 16F630 and 16F676 both have TTL thresholds on the Port C input buffers, 16F631 & 16F677 have ST thresholds on Port C. I'm currently debugging with an ICD2 and the 16F690-ICD debug header configured as a 16F677. What caused me so much time is that the behavior of the PIC appears to change between single-stepping and running at full speed. Specifically, several of the Port C inputs had a nominal 3 Vdc applied. I had thought this was good since I had thought that the port pins had TTL thresholds (1.3Vdc nominal). The project I'm working on uses the 16F630 in the previous versions and they are all working fine. The behavior I was seeing was that a branch was not being taken when the ICD was in Run mode. However, single-stepping through that section of code showed that everything was working correctly. That sent me off in many different directions trying to figure out why my program wasn't behaving as it should. I finally wrote a series of what I call "traps" that helped me narrow the problem down to the section I had first investigated with single-stepping. That's when I hit the datasheets again - and found the input thresholds on Port C had changed. Bringing the input levels above 4 Vdc fixed the problem. The reason for writing this was to warn people that the 16F690-ICD header appears to behave differently depending upon what you are doing at the time. I hope this saves someone some time and effort! dwayne -- Dwayne Reid Trinity Electronics Systems Ltd Edmonton, AB, CANADA (780) 489-3199 voice (780) 487-6397 fax www.trinity-electronics.com Custom Electronics Design and Manufacturing -- http://www.piclist.com PIC/SX FAQ & list archive View/change your membership options at http://mailman.mit.edu/mailman/listinfo/piclist