ESP_IDF interrupt
ESP_IDF Github
In this github file, you can find example folder.
INPUT interrupt 설정
GPIO_INT_TYPE
GPIO_PIN_INTR_DISABLE = 0; -> 사용안함
GPIO_PIN_INTR_POSEDGE = 1; -> RISING Edge (0 -> 1)
GPIO_PIN_INTR_NEGEDGE = 2; -> Falling Edge (1 -> 0)
GPIO_PIN_INTR_ANYEDGE = 3; -> 아무 거나 발동
GPIO_PIN_INTR_LOLEVEL = 4; -> LOW 일정 시간 유지 시 발동
GPIO_PIN_INTR_HILEVEL = 5; -> HIGH 일정 시간 유지 시 발동
사용 예)
isr
Interrupt Service Routine : Interrupt Handler
- 인터럽트 핀 설정 : gpio_set_intr_type
- 저장할 QUEUE 생성
- 인터럽트 발생 시 구현 함수(isr은 아님) 연동
- 인터럽트 서비스 시작 코드 : gpio_install_isr_service
- 인터럽트 추가 : isr_handlder_add
Leave a comment