cancel
Showing results for 
Search instead for 
Did you mean: 

Difference with DMA between F746ZG and F746IG

Jeremy Durand
Associate II
Posted on March 28, 2017 at 15:34

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.

12 REPLIES 12
Posted on March 28, 2017 at 21:49

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

Posted on March 29, 2017 at 13:12

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. 

Jeremy Durand
Associate II
Posted on March 29, 2017 at 15:39

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.