본문 바로가기
MCU/STM32

[STM32F411xC/E] 외부 인터럽트 1

by mokhwasomssi 2021. 8. 2.

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