본문 바로가기
전자/임베디드 시스템

STM32 HAL DMA 사용시 주의사항

by Begi 2021. 7. 3.
반응형

STM32의 HAL에서 UART, I2C, SPI 등에서 DMA을 사용할 때 다음 그림 같이 각 장치에 대한 인터럽트를 Enable 시켜야 한다.

 

 

HAL_UART_Receive_DMA 함수를 보면 다음과 같이 인터럽트를 사용하는 코드가 있다.

 

    /* Enable the UART Parity Error Interrupt */
    SET_BIT(huart->Instance->CR1, USART_CR1_PEIE);

    /* Enable the UART Error Interrupt: (Frame error, noise error, overrun error) */
    SET_BIT(huart->Instance->CR3, USART_CR3_EIE);

 

위 코드는 UART 통신 중 에러가 발생했을 때 호출되는 인터럽트를 활성화 한다.

 

반응형

댓글