Mike Mansheim wrote: > I did not receive any replies to a post on this subject a few days > ago - please let me know if I did something wrong (post too long??) > This is a considerably shorter version of the question: > > On a 16F876, can the port B "interrupt on change" feature be used > reliably for external interrupts, _IF_ there is no other usage on > port B? Or, as I read on Andy Warren's answer page, is this > feature still only good for waking the processor up from sleep > mode? Sorry, Mike; I didn't see your post, otherwise I would have answered it. If you NEVER access the PORTB register (i.e., you neither read it nor write it, either directly or through the FSR), the "interrupt on change" feature will work fine whether the processor's awake or asleep. In your case (I just found your original message and read it), you ARE reading PORTB in your ISR, so it's possible that that's what's making your code fail. I know that you believe that the I/O pins can't be changing state at the moment that you read PORTB, but it seems clear that they actually are. Could there be switch-bounce or other noise on your PORTB inputs? One way to solve the problem, if you have available pins, is to tie your inputs to BOTH Port B and another port, then ONLY check the input states by looking at that other port. Good luck... -Andy === Andrew Warren --- aiw@cypress.com === Cypress Semiconductor Corporation === Interface Products Division, S.D. === === The opinions expressed above do === not necessarily represent those of === Cypress Semiconductor Corporation. -- http://www.piclist.com hint: The list server can filter out subtopics (like ads or off topics) for you. See http://www.piclist.com/#topics