stm32에서 uart 데이터를 받는 3가지 방법
- 폴링 모드 - HAL_UART_Receive
- 수신 데이터가 들어올 때까지 CPU 작동 중단
- 수신이 끝나고 나서 다른 일을 할 수 있음.
- 인터럽트 - HAL_UART_Receive_IT
- 수신 데이터가 들어오기 전까지는 다른 일을 함
- 수신 데이터가 들어오면 수신에 CPU를 사용
- 수신이 끝나면 인터럽트 발생
- DMA - HAL_UART_Receive_DMA
- 설정만 하면 알아서 수신
- CPU 개입 없음
- 수신 끝나면 인터럽트 발생
내가 이해한 바로는 이렇다. 틀릴 수도 있어영.
참고하기 좋은 자료
How To Receive UART Serial Data With STM32 – DMA / Interrupt / Polling