2016-06-30 07:14 PM
I tried editing the simple DMA example in STM32Cube_FW_F7_V1.4.0\Projects\STM32F746ZG-Nucleo\Examples\DMA\DMA_FLASHToRAM
I changed the DMA direction register so its memorytoperipheral
instead of memorytomemory. And I changed the destination
memory address to one of the GPIO ports.
For some reason its not working though. The GPIO pins aren't being written to at all.
It does however write to the ODR register if I leave it as memory_to_memory.
The problem with this though is that I can't then have the memory pointer not increment for the destination address with each write.2016-07-01 01:42 AM
I found the problem. It was that
This line was needed to increment the SDRAM address pointer. DmaHandle.Init.PeriphInc = DMA_PINC_ENABLE; /* Peripheral increment mode Enable */And this line was needed to prevent the GPIO->ODR address pointer from incrementing. DmaHandle.Init.MemInc = DMA_MINC_DISABLE; /* Memory increment mode Enable */So it's the opposite to what you'd expect it to be.This is a bug I take it?2016-07-01 02:51 AM