2017-03-28 06:34 AM
Hi,
before receving my new board, I develop application on NUCLEO-F746ZG (at 25 MHz). I use a DMA on RX of USART3 (DMA1 Stream 1 Channel 4). All works fine. When I received new board with STM32F746IG (at 8 MHz), the DMA on RX of USART3 doesn't work. My counter never increment. Of course, I adjust parameters of clock. On USART3, I can transmit and receive by interrupt, but I need to use RX by DMA. All other functionnalites of my application work fine.
If I come back on the NUCLEO-F746ZG (by changing clock configuration), the DMA on RX of USART3 works fine...
Someone can help me?
Thanks in advance!
Jeremy D.
I use Keil uVision 5.23, CMSIS 5.0.1, MDK 7.4.0 and DFP 2.9.0.
2017-03-28 02:49 PM
I put a break point at the beginning
DMA1_Stream1_IRQHandler and the breakpoint breaks
.OK so what are the registers at that point?
JW
2017-03-29 06:12 AM
Thanks for reply.
I can receive and transmit data by USART3 at 115200 bps. I already send 'U' and scope for bit timing and it was good.
2017-03-29 06:39 AM
I finally found the problem. When I power my board, my isolated RS232 cirsuit is powered when GPIO is set. This GPIO is set at the beginning of the main after initialize RTOS and system clock and GPIOs. In this configuration after initialisation, I have framing error on UART3 and DMA shutdown and never reset. I modified my board to power my isolated RS232 circuit at the power of my board... In this midified configuration, my DMA on UART3 works and I can receive data...
However, I do not understand why the UART3 have a framing error (and cause shutdown of the DMA) while the isolated RS232 circuit is powered since some miliseconds (I have delay).
Thanks for your help.