Transmission Reception problem on stm32l0
Hello,
I am trying to use the USART on the stm32l0 discovery board. I successfully transmitted informations to my PC (using Tera Term).
What i want now is to receive characters from the PC, stock them in a buffer, and then send them back to the PC. I made a loop that send dumb characters to the PC every 1second, but every time a character is send using: “GLB_var_bsp_usart1.Instance->TDR = c;” (which mean i directly write into the TDR register), the RDR register value is set to 0x0FF, and the RXNE flag raises.
My program then thinks the board received a character, stocks it into my buffer, and sends it back to the PC, which make him write again the TDR register, which set the RDR register to 0x0FF and so on... I end up with an endless list of “ÿÿÿÿÿÿ” on Tera Term (“ÿ” being the ASCII character corresponding to 0x0FF)
This whole thing happens when i activate only the RX mode on the USART, which mean my transmission works fine on it’s own (when i don’t use the RX_TX mode).
Anyone already had this situation? I seems to me that my RDR and TDR register are bound, even though i have no idea how it happened?
Thanks in advance for your answers.