본문 바로가기

개발 이야기/STM32 보드

STM32 - STM32F0xx UART Rx(Receive) DMA 예제

728x90

개인적으로 UART에 DMA를 잘 사용하지 않는 편인데 최근 개발한 보드에 문제가 발생하여 사용하게 되었다.

통신속도(보드레이트, Baud Rate) 1Mbps로 설정하여 통신을 하는데 간헐적으로 Overrun 에러가 발생하는 것이었다. 보통 Overrun 에러는 데이터를 가져가기 전에 또 다른 데이터가 들어오면 발생한다고 한다.

데이터가 들어오면 인터럽트가 걸리고 바로 데이터만 낼름 가져오는 형태를 사용하고 있었는데 이러한 문제가 발생하였고 인터럽트 우선순위를 올릴까 하다가 그냥 DMA를 적용시키게 되었고 이후 증상이 발생하진 않았다.

 

자 그리하여... STM32F0xx에서 UART RX 라인에 DMA를 적용시켜보자.

예제에 사용한 MCU는 STM32F072C8이고 USART3을 DMA로 설정할 것이다.

https://blog.naver.com/chandong83/222036416616

 

STM32 - STM32F0xx UART Rx(Receive) DMA 예제

개인적으로 UART에 DMA를 잘 사용하지 않는 편인데 최근 개발한 보드에 문제가 발생하여 사용하게 ...

blog.naver.com

 

 

 

(광고1)

주식과 증권 커뮤니티 최신 동향을 한번에 모아서 볼 수 있는 앱이 있습니다.

'주식통' 이라는 앱인데 하기에서 다운로드 가능합니다.

https://play.google.com/store/apps/details?id=com.opensupport.StockTong 

 

(광고2)

이젠 여기저기 있는 중고거래앱들을 번거롭게 일일이 찾아드릴 필요가 없이

중고장터거래 앱들의 원하는 아이템을 한번에 검색해 볼 수있는 앱이 있습니다. 

다운로드는하기에서 가능합니다.

https://play.google.com/store/apps/details?id=com.opensupport.UsedSearch 

 

 

 

그럼,

    공유합니다.