본문 바로가기

[TI]/MSP0M

[MSPM0G3107 SSM] GPIO 인터럽트 - INPUT CAPTURE 테스트

테스트진행 중 디버깅을 위해 입력력 스위치를 많이 사용하는데 [MSPM0G3107 SSM] 보드에는 입력 스위치가 있고 이를 이용하여 외부 인터럽트 테스트를 진행 해 보자

 

[MSPM0G3107 SSM] 보드 부트옵션을 위한 스위치가 PA18에 연결되어 있다.

 

 

SYSCONFIG를 이용하여 입력 GPIO를 추가하고 인터럽트를 설정해 되면 된다.

 

 

 

 

인터럽트 핸들러는 GROUP1_IRQHandler() 함수를 재정의해서 처리 할 수 있다.

void GROUP1_IRQHandler(void)
{
    switch (DL_Interrupt_getPendingGroup(DL_INTERRUPT_GROUP_1)) {
        case GPIO_GRP_0_INT_IIDX:
            /* If SW is high, turn the LED off */
            if (DL_GPIO_readPins(
                    GPIO_GRP_0_PORT, GPIO_GRP_0_SW_PIN1_PIN))
            {
                DL_GPIO_clearPins(GPIO_GRP_1_PORT, GPIO_GRP_1_LED1_PIN_PIN);              
            }
            else 
            {
             	DL_GPIO_setPins(GPIO_GRP_1_PORT, GPIO_GRP_1_LED1_PIN_PIN);
            }
            break;
    }
}

 

 

NVIC_EnableIRQ() 함수를 이용하여 인터럽트를 등록해 준다.

int main(void)
{
    SYSCFG_DL_init();

    NVIC_EnableIRQ(GPIO_GRP_0_INT_IRQN);

    while (1)
    {
         __WFE();
    }
}

 

 

 

반응형