인터럽트

다니엘·2022년 5월 26일
0

원래 하던 작업을 잠시 멈추고 프로세스를 저장한 다음 다시 작업을 재게

APB : advanced peripheral bus

cpu 는 32bit 0-22 까지는 read write 값으로 설정 가능하나 그 초과 bit는 사용이 어려움
384page



같은 번호끼리는 동일한 external interrupt 를 가짐

EXTI10~EXTI15 각각 GPIOA~GPIOK의 0번 pin~15번 pin에 연결
(커넥터 점퍼로 보드 이용해서 할수 는 있으나 그외에는 이방법으로만)

EXTI Real time clock
FS FULL SPEED
REAL TIME CLOCK 180MHz 이용가능

HAL_GPIO_EXTI_IRQHandler(unit16_t GPIO_Pin)

IR interrupt

콜백함수

시스템코어에서 GPIO 선택 NVIC 클릭
EXTI line 15:10 interrupt 선택

userlable 은 boardselector에서는 뜨나
mcu 에서는 확인 안되서 pinNumber로 확인해야함

configuration도 뜨지 않고 각각설정해야함

falling edge rising edge 언제 interrupt 발생하는지 pullup pulldown , user label
USER_Btn [B1] 인지 확인

Generate IRQ Handler
Call HAL handler
EXTI line 15:10 interrupt 체크

체크시 보여지게 되는 함수
GPIO_PIN_13 // 1.6.1버전에서는 보임
최신버전에서는 안보임.
버전에 따라 보이지 않을 수 있다.

코드작성은 main.c 에서만 작성

모든 콜백함수는 __weak 로 되어있다.
실제 코드는 되어있지만 동작을 안함

interrupt 발생시 callback 쓰겠다는 표현

0개의 댓글