为什么我的MSP432在LPM3中断到达后会复位?
[复制链接]
uart0_Init();/
uart0_SendString((uint8_t*)"MCU reset\r\n");
MAP_GPIO_setOutputLowOnPin(GPIO_PORT_P5,GPIO_PIN6);//power off MAP_GPIO_setOutputLowOnPin(GPIO_PORT_P1,BIT1|BIT4|BIT5|BIT6|BIT7); MAP_GPIO_setOutputLowOnPin(GPIO_PORT_P2,PIN_ALL8);
MAP_GPIO_setOutputLowOnPin(GPIO_PORT_P3,PIN_ALL8);
MAP_GPIO_setOutputLowOnPin(GPIO_PORT_P4,PIN_ALL8);
MAP_GPIO_setOutputLowOnPin(GPIO_PORT_P5,PIN_ALL8);
MAP_GPIO_setOutputLowOnPin(GPIO_PORT_P6,PIN_ALL8);
MAP_GPIO_setOutputLowOnPin(GPIO_PORT_P7,PIN_ALL8);
MAP_GPIO_setOutputLowOnPin(GPIO_PORT_P8,PIN_ALL8);
MAP_GPIO_setOutputLowOnPin(GPIO_PORT_P9,PIN_ALL8);
MAP_GPIO_setOutputLowOnPin(GPIO_PORT_P10,PIN_ALL8);
GPIO_setAsOutputPin(GPIO_PORT_P1,BIT1|BIT4|BIT5|BIT6|BIT7);
GPIO_setAsOutputPin(GPIO_PORT_P2,PIN_ALL8);
GPIO_setAsOutputPin(GPIO_PORT_P3,PIN_ALL8);
GPIO_setAsOutputPin(GPIO_PORT_P4,PIN_ALL8);
GPIO_setAsOutputPin(GPIO_PORT_P5,PIN_ALL8);
GPIO_setAsOutputPin(GPIO_PORT_P6,PIN_ALL8);
GPIO_setAsOutputPin(GPIO_PORT_P7,PIN_ALL8);
GPIO_setAsOutputPin(GPIO_PORT_P8,PIN_ALL8);
GPIO_setAsOutputPin(GPIO_PORT_P9,PIN_ALL8);
GPIO_setAsOutputPin(GPIO_PORT_P10,PIN_ALL8);
io_Init();
MAP_GPIO_setAsOutputPin(GPIO_PORT_P1, GPIO_PIN0);
MAP_GPIO_setOutputLowOnPin(GPIO_PORT_P1, GPIO_PIN0);
MAP_Interrupt_enableSleepOnIsrExit();
MAP_Interrupt_enableMaster();
PCM_gotoLPM3();
while(1)
{
for(i=0;i<10;i++)
{
MAP_GPIO_toggleOutputOnPin(GPIO_PORT_P1, GPIO_PIN0);
delay_WaitMs(500);
}
MAP_GPIO_setOutputLowOnPin(GPIO_PORT_P1, GPIO_PIN0);
PCM_gotoLPM3(); } void io_Init(void)
{
MAP_GPIO_setAsOutputPin(GPIO_PORT_P1, GPIO_PIN0);//ÅäÖÃP1.0Îaêä3ö
MAP_GPIO_setOutputLowOnPin(GPIO_PORT_P1,GPIO_PIN0);
//°′¼üÖD¶Ï
MAP_GPIO_setAsInputPin(GPIO_PORT_P1,GPIO_PIN1);
GPIO_setAsInputPinWithPullUpResistor(GPIO_PORT_P1,GPIO_PIN1);
MAP_GPIO_clearInterruptFlag(GPIO_PORT_P1, GPIO_PIN1);
MAP_GPIO_enableInterrupt(GPIO_PORT_P1, GPIO_PIN1); } 以上是代码,我用LUANCHPAD做低功耗测试,使用了LPM3模式,保留了P1.1的按键中断, 现在我的问题是,MCU启动后,按下按键,这个时候灯会正常闪烁,然后再次进入低功耗 可是我再次按下MCU的时候,MSP432就复位了。 请问这个是什么原因? 例外,如果我使用的是RTC中断,会有一样的问题
|