This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

MSP430F413: F413 IO interrupt issue

Part Number: MSP430F413

Hi TI employee,

My coustomer designed a watermeter with  MSP430F413 .  The problem is if the P1.2 IO interrupt occuers, it will affect P1.0, and make P1IFG = 0x03.

It 's easy reproduce this issue.  Pls help check and give a solution.

#include "msp430f413.h"

void main( void )
{
    // Stop watchdog timer to prevent time out reset
    WDTCTL = WDTPW + WDTHOLD;

P1DIR = 0; P1IES = BIT2 + BIT0; P1IE = BIT2 + BIT0; P1IFG = 0; while(1) { _BIS_SR(GIE+LPM3_bits); } } #pragma vector = PORT1_VECTOR __interrupt void P1(void) { __no_operation(); __no_operation(); __no_operation(); }

  • Hi,

    thank you for posting your question.

    As first attempt to solve this issue I'd advice you to clear all Port 1 interrupt flags as this has to be done in software according to Section 11.2.6 in the MSP430x4xx Family User's Guide.

    Also note that changing the PxDIR and PxOUT can lead to set IFGs. You could try to reset the P1IFG register after setting P1DIR and P1OUT.

    Let me know if the issue still persists and I'll take a closer look at your application.

    Thanks and best regards,

    Britta

  • Hi britta,

    I have checked the infomation you mentioned on the User guider again,in fact, we have noted this before you point out.

    If you look at my code, you 'll find the code is already avoid this bug.

    I doubt maybe the wire of P1.2 is too close to P1.0,  which lead a flase triger of P1.0.  So we need your confirmation.

    Besides, if replace F413 with F417 , all the problem is gone.  or change another pin(P1.6 for example) , the side effect to P1.0  disappeared.

    Just as I said ,you can easily to reproduce this problem.( Pls use F413 to do the test, not F415 or F417)

    Need your help urgently, because my customer is eager to ship the water meters to the end user.

    Thanks again.

  • Hi
    I have the same problem,please help to confirm it.

    Thanks and best regards,
    hu guo
  • Hi,

    please excuse the delay, I've been setting up the device and now start trying to reproduce the issue,
    I'll come back to you within this week with my findings.

    Best regards,
    Britta
  • Hi,

    so I've tested your code on MSP430F413 and the MSP-TS430PM64 target socket board.

    Unfortunately, when triggering P1.2 I've only noted the according interrupt flag set, no cross-triggering the P1.0 IFG.

    Therefor I find it likely that this issue might be due to the hardware of your application.

    Are you able to share a schemetic? Or did you see the issue on a target socket board, too? Did you verify if Pin 1.2 and Pin 1.0 are still independent after soldering?

    I've also noticed that, in the code you shared in your post, you're not resetting the IFG per software after the interrupt occured (for example in the interrupt service routine).

    Please let me know if you can find any hardware issue on your board or the schematic.

    Thanks and best regards,

    Britta

  • Hi,

    have you been able to solve your issue? Please verify a given answer in case in solved your problem or let me know that you still need assistance.
    I'll go ahead and close this thread in case I don't hear back from you.
    Best regards,
    Britta

**Attention** This is a public forum