We are running a survey to help us improve the experience for all of our members. If you see the survey appear, please take the time to tell us about your experience if you can.
Hi all,
The C167 has edge based external interrupts (programmable to rising/falling/both). Does anybody have a reference to info on how to interface it with a level based interrupt device (e.g. an external multi-port UART)? When you OR several interrupt sources together, you miss interrupts. What's the "industry standard" way of handling this?
I just checked the datasheet of an XC167 and it also has edge based external interrupts only. Could somebody explain, to a simple software engineer :-), what the advantage of edge based interrupts is? Level based seems to make alot more sense to me; it's plain and simple.
Regards, Joost Leeuwesteijn
If the C166 is able to read the logic level of the pin that is used for the external interrupt, you will have to write your interrupt handler so that it polls the different UARTs and service them until the ORed interrupt signal gets deactivated.
Just to make sure, you should also consider adding a poll of the interrupt input pin in the main loop, in case you manage to get your interrupt handler out of sync.