개인적으로 UART에 DMA를 잘 사용하지 않는 편인데 최근 개발한 보드에 문제가 발생하여 사용하게 되었다.
통신속도(보드레이트, Baud Rate) 1Mbps로 설정하여 통신을 하는데 간헐적으로 Overrun 에러가 발생하는 것이었다. 보통 Overrun 에러는 데이터를 가져가기 전에 또 다른 데이터가 들어오면 발생한다고 한다.
데이터가 들어오면 인터럽트가 걸리고 바로 데이터만 낼름 가져오는 형태를 사용하고 있었는데 이러한 문제가 발생하였고 인터럽트 우선순위를 올릴까 하다가 그냥 DMA를 적용시키게 되었고 이후 증상이 발생하진 않았다.
자 그리하여... STM32F0xx에서 UART RX 라인에 DMA를 적용시켜보자.
예제에 사용한 MCU는 STM32F072C8이고 USART3을 DMA로 설정할 것이다.
https://blog.naver.com/chandong83/222036416616
(광고1)
주식과 증권 커뮤니티 최신 동향을 한번에 모아서 볼 수 있는 앱이 있습니다.
'주식통' 이라는 앱인데 하기에서 다운로드 가능합니다.
https://play.google.com/store/apps/details?id=com.opensupport.StockTong
(광고2)
이젠 여기저기 있는 중고거래앱들을 번거롭게 일일이 찾아드릴 필요가 없이
중고장터거래 앱들의 원하는 아이템을 한번에 검색해 볼 수있는 앱이 있습니다.
다운로드는하기에서 가능합니다.
https://play.google.com/store/apps/details?id=com.opensupport.UsedSearch
그럼,
공유합니다.
'개발 이야기 > STM32 보드' 카테고리의 다른 글
STM32보드 - Thingspark 클라우드에 연결해보기 (0) | 2020.12.29 |
---|---|
STM32 MCU에서 AI모델(Keras/TFLite)로 개발하기 (0) | 2020.12.26 |
STM32F 강좌 (0) | 2020.09.18 |
ST의 evaluation board 선택할 수 있는 곳 (0) | 2020.09.03 |
STM32 - CubeIDE에서 프로젝트 만들기 + PWM 출력하기(STM32F103C8, 1Khz, PWM Output 예시) (0) | 2020.09.03 |