AN54460 - PSoC® 3 and PSoC 5 Interrupts | Cypress Semiconductor
AN54460 - PSoC® 3 and PSoC 5 Interrupts
This is a very good app note and recommend anyone who uses interrupts in their project to read it.
The Interrupt Type parameter of the interrupt component seems a little misleading to me. It appeared to me that setting it to "derived" was sort of an "auto" setting where the builder would automatically select either edge or level triggering as appropriate. According to this app note, that is completely incorrect and that, for example, if I set my interrupt to "derived" that is based on my UART, it won't even work. I'm glad that this app note clarifies this issue, but I think that it would be very helpful to reword the descriptions when setting the interrupt type in the component parameter window or even call the "derived" option something else like "fixed-function".
In the "My First Interrupt Project" example, i noticed that the global variable was not declared as "volatile". Should not any variable that is being accessed by more than one process be "volatile"?