cancel
Showing results for 
Search instead for 
Did you mean: 

STM32F429 UART4/USART3 Continuous Receiving Problem

Posted on April 20, 2018 at 13:37

The original post was too long to process during our migration. Please click on the attachment to read the original post.
1 ACCEPTED SOLUTION

Accepted Solutions
Posted on April 24, 2018 at 09:07

I found the problem. The SysTick interrupt is causing that problem. I disabled irqs with '__disable_irq();' before sending command and read all the response data without problem then enabled irqs with '__enable_irq();' after got the response. Now it is working. Thanks.

View solution in original post

3 REPLIES 3
Posted on April 20, 2018 at 13:44

Don't inspect the USART peripheral registers in the debugger, it will break things. Have your code provide telemetry via SWV

Make sure no other errors are flagging while spinning on RXNE, specifically Framing or Parity, as these will need to be cleared before the receiver will work again.

Tips, Buy me a coffee, or three.. PayPal Venmo
Up vote any posts that you find helpful, it shows what's working..
Posted on April 20, 2018 at 13:53

Thanks Clive One. No, code have not provide telemtry via SWV. But now I edited the question (because I pressed CTRL + S this is routine for me sorry.). There is an ORE error in the first byte but no other errors.

I'm just putting a breakpoint to the timeout condition returning and the next line of the while { ... } block. It never pass the while. Every time it falls into the timeout condition. Just for try, I put one more breakpoint to line that reading the DR to see what's happening in the registers.

Posted on April 24, 2018 at 09:07

I found the problem. The SysTick interrupt is causing that problem. I disabled irqs with '__disable_irq();' before sending command and read all the response data without problem then enabled irqs with '__enable_irq();' after got the response. Now it is working. Thanks.