cancel
Showing results for 
Search instead for 
Did you mean: 

Hi, using the USART I've seen that the hardware of the board expects the echo of the transmission on RX, the peripheral doesn't receive the messages that transmits. I've used CubeMx to set the peripheral. Could have I set some filter that prevent this?

NMelo.1
Associate II
 
3 REPLIES 3
Karl Yamashita
Lead III

Which hardware is transmitting and what is receiving? Which hardware is expecting an echo?

Tips and Tricks with TimerCallback https://www.youtube.com/@eebykarl
If you find my solution useful, please click the Accept as Solution so others see the solution.
NMelo.1
Associate II

0693W00000aHOOKQA4.jpgThe hardware is the STM32F407 that is receiving a request from a RS485 USB converter connected to my pc and the STM32F407 too that is transmitting to the pc. We are using the peripheral USART3 to receive and to transmit. With an oscilloscope I see clearly the frame received, the frame transmitted and the echo of the frame transmitted on the RX channel. However, in the RX buffer I find only the received frame and not the echo of the transmitted frame.

KnarfB
Principal III

Make sure that you are permanently receiving on the STM32 side. This is best done by DMA, see https://github.com/MaJerle/stm32-usart-uart-dma-rx-tx.

The echo seems to be a hardware echo, because, there is no visible delay. You cannot transmit and receive simultaneously by using blocking HAL functions for example. If the issue persists, show your code.

hth

KnarfB