STM32 강좌

STM32CubeMX - EXTI (External Interrupt) 기능

plainy 0 6,401 2017.04.28 10:52

 

* STM32F4의 EXTI(External Interrupt)에 관하여 설명합니다. STM32F4외 Device는 내용이 다를 수 있습니다.

 

​EXTI(External Interrupt)는 외부에서 신호가 입력될 경우 Device에 이벤트 또는 인터럽트가 발생되는 기능입니다.

입력받을 수 있는 신호는 Rising Edge, Falling Edge, Rising & Falling Edge입니다.

 

1b2c326854089e594a4d7c9632f3307b_1493344357_2454.gif



 

Key를 EXTI로 사용할 경우 Key가 눌렸을 때 인터럽트를 발생시킬 수 있으며 저전력 모드에 들어간 MCU가 EXTI에 의해 깨어나는 용도로 사용할 수도 있습니다.

 

  

STM32F4 EXTI

STM32F4의 EXTI는 아래와 같이 구성되어 있습니다.

각 PORT의 0번핀(PA0, PB0, PC0, ..., PK0)은 EXTI0에 연결됩니다.

각 PORT의 1번핀(PA1, PB1, PC1, ..., PK1)은 EXTI1에 연결됩니다.

...

각 PORT의 15번핀(PA15, PB15, PC15, ..., PK15)은 EXTI15에 연결됩니다.

 

PA0에 신호가 들어오거나  PB0에 신호가 들어올 경우 모두 EXTI0 이벤트 또는 인터럽트가 발생됩니다.

따라서 두개의 신호를 구별해야 할 경우 다른 핀 번호를 사용하여야 합니다. 

(예: PA0과 PB1을 사용할 경우 각각 EXTI0과 EXTI1 이벤트/인터럽트가 발생됩니다.) 

 

1b2c326854089e594a4d7c9632f3307b_1493344362_65.png
 

 

이 외에 내부 Peripheral에서 발생되는 EXTI가 있습니다.

 

  • EXTI line 16 is connected to the PVD output
  • EXTI line 17 is connected to the RTC Alarm event
  • EXTI line 18 is connected to the USB OTG FS Wakeup event
  • EXTI line 19 is connected to the Ethernet Wakeup event
  • EXTI line 20 is connected to the USB OTG HS (configured in FS) Wakeup event
  • EXTI line 21 is connected to the RTC Tamper and TimeStamp events
  • EXTI line 22 is connected to the RTC Wakeup event


EXTI Event/Interrupt
EXTI는 Event와 Interrupt를 선택하여 설정할 수 있습니다.
EXTI를 EVENT모드로 설정할 경우 WFE명령어로 Sleep Mode에 진입한 MCU를 깨우는 용도로 사용됩니다.

EXTI를 Interrupt모드로 설정할 경우 Interrupt가 발생하며 해당되는 Interrupt Handler가 동작합니다.
STM32F4에 할당된 EXTI IRQ는 아래와 같습니다.

 IRQ

 IRQ Handler

 EXTI0

 EXTI0_IRQHandler

 EXTI1

 EXTI1_IRQHandler

 EXTI2 

 EXTI2_IRQHandler

 EXTI3

 EXTI3_IRQHandler

 EXTI4

 EXTI4_IRQHandler

 EXTI9_5

 EXTI9_5_IRQHandler

 EXTI15_10

 EXTI15_10_IRQHandler

 

 

EXTI5~EXTI9, EXTI10~EXTI15에서 발생된 Interrupt는 같은 IRQ Handler가 동작하므로 이를 구분해 주는 동작이 필요합니다. 

 

Interrupt발생 시 Pending Bit가 1로 설정되며 Pending Bit를 Clear하지 않을 경우 다시 Interrupt Handler가 동작하므로 반드시 Clear하여야 합니다.

   

Comments

Category
Facebook Twitter GooglePlus KakaoStory NaverBand