[Embedded] 핸들러 란?

강지원·2025년 3월 17일

STM32 강의

목록 보기
28/33

핸들러란?

  • 핸들러는 특정 이벤트나 인터럽트가 발생했을 때 실행되는 콜백 함수입니다.
  • 마이크로컨트롤러에서 SPI 통신 중 특정 상태(데이터 전송 완료, 수신 완료 등)가 발생하면 SPI 인터럽트가 발생할 수 있는데, 이때 해당 인터럽트를 처리하는 역할을 핸들러가 수행합니다.

SPI 핸들러의 역할

SPI 핸들러는 주로 다음과 같은 역할을 합니다:

  1. 데이터 전송 완료 처리
    데이터 송수신이 끝나면 호출되어 다음 데이터를 준비하거나 후처리를 수행합니다.

  2. 데이터 수신 완료 처리
    새로운 데이터가 수신되었을 때 호출되어 데이터 처리를 수행합니다.

  3. 오류 처리
    전송 중 오류 발생 시 원인을 분석하고 복구 작업을 수행합니다.

  4. DMA 사용 시 핸들링
    DMA(Direct Memory Access)를 사용하는 경우 전송이 완료되면 인터럽트를 통해 핸들러에서 후처리를 수행합니다.

왜 SPI 핸들러를 설정해야 할까?

  • 비동기 처리:
    SPI 통신은 클럭 신호에 동기화되어 작동하지만, 데이터 송수신이 완료되는 순간을 정확히 제어하기 위해 핸들러가 필요합니다.
    비동기적인 이벤트가 발생했을 때 이를 즉시 처리하기 위해 핸들러를 설정합니다.

  • 인터럽트 기반 제어
    SPI 통신 중 매번 상태를 폴링(확인)하는 것은 비효율적이기 때문에 인터럽트를 통해 자동으로 상태 변화를 감지하고 핸들러에서 처리합니다.

  • 시스템 자원 효율화
    SPI 핸들러를 사용하면 다른 작업을 수행하다가 SPI 이벤트가 발생했을 때만 처리하므로 CPU 자원을 효율적으로 사용할 수 있습니다.

✅ 핵심 요약

✔️ SPI 핸들러는 SPI 통신 과정에서 발생하는 이벤트(송신 완료, 수신 완료, 오류 발생 등)를 처리하는 콜백 함수이다.

✔️ 핸들러를 설정하면 CPU가 SPI 상태를 계속 폴링할 필요 없이 인터럽트를 통해 자동으로 상태 변화를 감지하고 처리할 수 있다.

✔️ 이를 통해 시스템 자원을 효율적으로 사용할 수 있고, 빠른 응답 처리가 가능하다.

0개의 댓글