cancel
Showing results for 
Search instead for 
Did you mean: 

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.

cjaya.1
Associate II
 
3 REPLIES 3
JPeac.1
Senior

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.

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?

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 Venmo
Up vote any posts that you find helpful, it shows what's working..