Hello "Twilight Zone" experts,
While debugging a "frozen processor" problem, I discovered that the neither my application nor the debugger could clear the P1IFR register. Curiously, I could clear the P1IE register. I could breakpoint on the P1IFG &= ~BIT0, and open the registers window. Neither single-stepping nor manually clearing P1IFG worked. Here's the code:
----------
unsigned flags = static_cast<unsigned>(P1IFG);
if (flags & BIT0) {
P1IFG &= ~BIT0; /* Clear Interrupt */
if (Trigger1retriggerable == false) {
P1IE &= ~BIT0;
}
Event_post (MassSpec_Event, TRIGGER1_RECEIVED);
}
----------
Tools:
CCS 5.2.0.00069
C++ Compiler: 4.1.0
Emulator: 5.2.0.9
RTSC/XDCtools: 3.23.3.53
BIOS6: 6.33.4.39
MSP430.dll: 3.2.1.9
Target: MSP430F2618
Any ideas?
Thanks,
Fred