Part Number: LP-MSP430FR2476
Tool/software: Code Composer Studio
When using an unmodified Out-of-Box sample application inside CCS, the onboard LP debugger seems to disable GPIO interrupts for a few seconds, in a cyclic manner.
To replicate:
- Compile and run the Out-of-Box sample application, with no modifications.
- Execute "Debug" (F11).
- Once the application starts and stops at the first line of code, execute "Resume" (F8).
- Press the LP buttons: it will take several seconds for the messages to appear.
- Everything else from the demo still works: the ADC is being read and the LEDs are updated, with PWM color coding fully working.
The issue does not happen when:
- Running without the debugger enabled or using "Free Run" (Ctrl+F8).
- Doing step-by-step debugging.
- Calling "EUSCI_A_UART_transmitData" or writing directly to the TX buffer register inside the "while (1)", either before or after going to LPM0.
- Sending a byte to the UART, like in the previous item, inside any periodic interrupt routine, such as inside the ADC ISR from the same example.
It seems that keeping the debugger active, by doing step by step debugging or sending bytes to its backchannel UART will prevent the issue from happening. Otherwise, it disables the GPIO interrupts, enables them for a short period, and then disables again for several seconds, repeatedly.
I've checked the demo code up and down: there are no interrupt masking instructions, and once the GPIO interrupts are enabled, they are never touched again.