Forum Discussion
Altera_Forum
Honored Contributor
15 years agoWhat is usually done in that case is that the interrupt service routine reads the interrupt status register, stores its value somewhere, clears it and then returns, asking the scheduler to run a DSR when possible. If the operating system you use doesn't supports DSR's, you can have the same behaviour by having the ISR release a semaphore before returning, waking up a task that would handle the communication.
You don't have to wait until you actually read the data to clear the interrupt.