본문 바로가기
프로젝트 기록/23SEMA_Control_STM32

Peripheral 중 External Interrupt 사용

by 소요이 2022. 9. 28.
728x90

내용: NUCLEO 보드의 B1버튼 누르면 외부 인터럽트 발생- LED가 2번 깜빡이는 동작

인터럽트 관련 설정하고 코드 만들면 바로 인터럽트 관련 코드 생김

인터럽트 발생 시 함수 호출 순서는

EXT15_10_IRQHandler()

HAL_GPIO_EXTI_IRQHandler()

HAL_GPIO_EXTI_Callback()

코드는 다 생기니까 우리가 수정할 부분은 Callback 함수 실행 내용 만들면 됨

  • 인터럽트 관련 설정하려면 NVIC 에서 해야 함
    • 할 수 있는 것들
    • 시스템 관련 인터럽트 활성화/비활성화
    • 인터럽트 우선순위 변경

인터럽트: 기본 설정은 rising edge로 되어있는데, BI 푸쉬버튼 회로도 보면 버튼을 눌렀을 때 신호가 High에서 LOW로 바뀌므로 falling edge로 설정 변경