Skip to main content
cjaya.1
Associate III
September 26, 2022
Question

I am having problem of receiving characters from ADUCM360. I am using HAL_UART_Receive_DMA for USART2 but I am receiving one character from ADUCM360 to STM32. I can see the characters transmit from ADUCM360 using putty.

  • September 26, 2022
  • 2 replies
  • 799 views

..

This topic has been closed for replies.

2 replies

JPeac.1
Visitor II
September 27, 2022

The ST USART will halt DMA if a receive error occurs. Do you have interrupts enabled for USART RX errors, and do you check/clear the USART status if an error does occur? If not, you will never get past the first time a parity/framing/overrun error occurs.

I've seen this many times, where clock jitter in the baud rate clock causes a framing or overrun error. Putty on a PC isn't using the same baud rate generator as the ST, so the fact it works with a PC would tend to point to the USART clock rate. Are you using HSI for the clock source? The oscillator tolerance is significant at high USART baud rates.

cjaya.1
cjaya.1Author
Associate III
September 27, 2022

Thank you for the reply. Yes I am using HSI for the clock source. How can I overcome this overrun error?. How can I clear the USART status if an error does occur?

Tesla DeLorean
Guru
September 27, 2022

Duplicative questions, not identifying "STM32" in question

https://community.st.com/s/question/0D53W00001pZG2XSAW/i-am-having-difficulty-receiving-data-on-

usart2-it-is-receiving-one-character-when-i-use-haluartreceiveit-interrupts-i-am-trying-to-receive-some-characters-from-aducm360-usart

Tips, Buy me a coffee, or three.. PayPal VenmoUp vote any posts that you find helpful, it shows what's working..