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.
Tool/software:
Hiiii
I want to put the mspm0g3507 into sleep mode when a specific GPIO becomes low & it should wake up after the GPIO is high
I have enabled interrupt for that pin below is my code
is this the proper way to put the mcu in sleep mode or is there any other way???
void main(){ SYSCFG_DL_init(); adc_flag = false; canrx_flag = false; gInterruptLine1Status = 0; DL_SYSCTL_enableSleepOnExit(); DL_TimerG_enableInterrupt(TIMER_0_INST, DL_TIMER_IIDX_ZERO); DL_TimerG_enableInterrupt(TIMER_1_INST, DL_TIMER_IIDX_ZERO); DL_TimerG_startCounter(TIMER_0_INST); DL_TimerG_startCounter(TIMER_1_INST); NVIC_EnableIRQ(TIMER_0_INST_INT_IRQN); NVIC_EnableIRQ(TIMER_1_INST_INT_IRQN); NVIC_EnableIRQ(MCAN0_INST_INT_IRQN); NVIC_EnableIRQ(ADC12_0_INST_INT_IRQN); NVIC_EnableIRQ(GPIO_GRP_0_INT_IRQN); while(1U){ if(ign_status == 0){ DL_VREF_disableInternalRef(VREF); DL_ADC12_disableConversions(ADC12_0_INST); DL_UART_Main_disable(UART_0_INST); DL_UART_Main_disable(UART_1_INST); DL_MCAN_reset(MCAN0_INST); __WFI(); } else if(ign_status == 1){ SYSCFG_DL_MCAN0_init(); DL_ADC12_enableConversions(ADC12_0_INST); SYSCFG_DL_UART_0_init(); SYSCFG_DL_UART_1_init(); SYSCFG_DL_VREF_init(); } } } void GROUP1_IRQHandler(void) { switch (DL_Interrupt_getPendingGroup(DL_INTERRUPT_GROUP_1)) { case GPIO_GRP_0_INT_IIDX: ign_status = DL_GPIO_readPins(GPIO_GRP_0_PORT,GPIO_GRP_0_IGN_IN_MCU_PIN); break; } }