Hello,
we used the MSP430FR5738 uC for a project in volume production. Now we received few pieces back from customers complaining about a false functionality. After debugging in the lab we have found the root of the problem.
We use ISR on P2.2 for falling edge detection. Pin Initialization is listed below.
Well when we scope the line, the voltage remains on 3.3V and there is no real ongoing action on the input of the P2.2 (trigger level on scope is ~2V). While this the uC jumps all the time into ISR. This happens I would say on 1 of 1500 devices. We could think it may be an ESD damage, but this line is used just internal ans has no connection to some external pins. Do you have an idea?
Best Regards
//main.c P2DIR = 0x00; P2OUT = 0x00; void init_p22(void) { P2IFG &= ~BIT2; P2OUT |= BIT2; P2IES |= BIT2; P2REN |= BIT2; P2IE |= BIT2; } #pragma vector=PORT2_VECTOR __interrupt void P2_ISR(void) { if(P2IFG && BIT2) // P2.2 Interrupt? { // some action here } P2IFG = 0x00; // delete all IR flags }