Hi,
I modified the "driverlib\examples\MSP432P4xx\pcm\pcm_go_to_lpm3" code. As in my own board, P5.3 is the push button and P5.5 is the LED. The code is modified as follows:
/* DriverLib Includes */
#include "driverlib.h"
/* Standard Includes */
#include <stdint.h>
#include <stdbool.h>
int main(void)
{
/* Halting the Watchdog */
MAP_WDT_A_holdTimer();
/* Configuring P1.0 as output and P6.7 (switch) as input */
MAP_GPIO_setAsOutputPin(GPIO_PORT_P5, GPIO_PIN5);
/* Configuring P6.7 as an input and enabling interrupts */
MAP_GPIO_setAsInputPinWithPullUpResistor(GPIO_PORT_P5, GPIO_PIN3);
MAP_GPIO_clearInterruptFlag(GPIO_PORT_P5, GPIO_PIN3);
MAP_GPIO_enableInterrupt(GPIO_PORT_P5, GPIO_PIN3);
MAP_Interrupt_enableInterrupt(55);
MAP_Interrupt_enableSleepOnIsrExit();
/* Enabling MASTER interrupts */
MAP_Interrupt_enableMaster();
/* Going to LPM3 */
while (1)
{
MAP_PCM_gotoLPM3();
__no_operation();
}
}
/* GPIO ISR */
void gpio_isr(void)
{
uint32_t status;
status = MAP_GPIO_getEnabledInterruptStatus(GPIO_PORT_P5);
MAP_GPIO_clearInterruptFlag(GPIO_PORT_P5, status);
/* Toggling the output on the LED */
if(status & GPIO_PIN3)
{
MAP_GPIO_toggleOutputOnPin(GPIO_PORT_P5, GPIO_PIN5);
}
}
In debug mode, it works well. But In non-debug mode, in other words, without the debugger connected, it doesn't work.
Additionally, the "driverlib\examples\MSP432P4xx\pcm\pcm_go_to_lpm3" code works well in the MSP-EXP432P401R LaunchPad whether in debug mode or not. Is there any clue?

