RM0383 문서의 Interrupts and events 부분을 읽고 정리한 내용입니다.
NVIC (Nested vectored interrupt controller)
특징
- 52 maskable interrupt controller
- 16 programmable priority levels
- low-latency exception and interrupt handling
- power management control
- implementation of system control registers
Interrrupt and exception vectors
- 벡터 테이블은 길어서 따로 첨부 안함
EXTI (External interrupt/event controller)
- 외부 인터럽트/이벤트 컨트롤러
- 인터럽트/이벤트 요청을 발생시키기 위한 23 edge detectors로 구성
주요 특징
- 각각의 인터럽트/이벤트 라인에서 독립적인 trigger 및 mask
- 각각의 전용 status bit
- 소프트웨어적으로 인터럽트/이벤트 request 가능
블록 다이어그램
기능 설명
Hardware interrupt selection
- 23개의 인터럽트 라인 구분(EXTI_IMR)
- 그 라인에서의 트리거 설정(EXTI_RTSR, EXTI_FTSR)
- NVIC IRQ 채널 설정
External interrupt/event line mapping
- 81개의 GPIO(STM32F411xC/E)가 16개의 외부인터럽트/이벤트 라인에 연결되어 있다.
EXTI registers
레지스터 맵
EXTI_IMR : Interrupt mask register
EXTI_EMR : Event mask register
EXTI_RTSR : Rising trigger selection register
EXTI_SWIER : Software interrupt event register
EXTI_PR : Pending register