Forum Discussion
Altera_Forum
Honored Contributor
20 years agoYou must keep your interrupt signal asserted until it is cleared by a software action.
Most hardware uses a write to a bit in a register to clear the interrupt, but some (for example the UART read interrupt) uses a read from a particular register (which can be faster but is harder to debug). If you deassert the interrupt line before software has had a chance to deal with it then you have sent what is known as a "spurious interrupt". The HAL software will spin in the interrupt handler when it gets a spurious interrupt to make it obvious that your system is broken (its easier to debug synchronisation problems if the bug always happens rather than just one time in 100).