I am working with an MSP430F1612 with the latest version of IAR's development environment.
I am working on verifying operation when multiple interrupts occur close to or at the same time.
What is happening is that if I am servicing a higher priority interrupt at the time a lower priority one is triggered, the flag for the lower priority one isn't always being set.
Both interrupts are being generated on some of the general purpose port pins. One is on port1, the other on port 2.
Breakpoints have verified that the input level on the pin of the lower priority interrupt is changing as expected. I see the port2 pin register as low at one point, then high later (its set up as a rising edge interrupt), but the associated interrupt flag isn't always set.
I have triple checked the code, and nothing in the first routine is affecting any of the flag or enable settings associated with the lower priority interrupt.
What I am wondering is, what are the characteristics for an interrupt that is detectable by the MSP430? I can't find this in any of the data sheets. Maybe I'm on the edge of a rising edge that is too fast. The device creating the interrupt is a TI DSP, a 5510. It won't lower the line for triggering the interrupt until it gets a response from the MSP430.
Any thoughts would be appreciated.
Thanks,
Becky