STM32F0 EXTI 예제 포스팅입니다.
EXTI는 확장 인터럽트 같은 개념인데 주로 GPIO로 인터럽트를 걸고 싶을 때 사용하는 듯한다. 메뉴얼에서도 HAL 드라이버에서 딱히 별도의 라이브러리를 제공하고 있진 않다고 적혀있다. 그냥 뭐..사용하고 싶은 핀에 인터럽트를 걸고 싶으면 쓰는 듯하다.
글을 읽기전에 CUBEMX를 모른다면 이 포스팅을 참고하길 바란다.
이번에는 별다른 설정을 만지지 않고 바로 Configure 탭으로 가서 GPIO 탭을 선택한다.
그다음 NVIC 탭으로 가서 EXTI 탭을 클릭하고 Enable 해준다.
EXTI라인을 4부터 15까지 사용가능하다.
데이터시트를 찾아보면 한 라인의 4~15번핀까지 사용이 가능한 듯 하다.
디스크립션이 자세하지 않아 확실치는 않다.
이를테면 PA4번 핀으로 EXTI와 매칭한다면 EXTI4로 연결되나 보다.
좌측 상단의 버튼을 누르고
프로젝트 이름을 작성 및 경로 지정을 해준다음, 개발 툴을 지정해주고
코드 제너레이트 해주면 끝
HAL_GPIO_EXTI_Callback()
디스크립션에서는 인터럽트 콜백함수로 이거 쓰면 된단다.
함수에서 GPIO_PIN을 입력인자로 받는다.
이것도 다른 인터럽트 함수처럼 if문으로 핀마다 다른 동작을 할 수 있게 선별할 수 있다.
디스트립션 함수 긁어다 써주고
파란 버튼 누르면 LED ON/OFF되게끔 코드를 짜고 돌렸다.
잘 되더라.