2015-07-24 03:41 AM
Hi All,
I am using STM32F429 running at 180Mhz.I am trying to transfer data from SRAM Location 0x20005000 to GPIO Iusing Timer1 Ch1 as capture through external Clock of 20MhzData Size is 8 BitsUsing Direct ModeFIFO Interrupt is not enabledI have defined DMA_Memory0BaseAddr as 0x20005000Memory Increment EnabledFIFO Mode DisabledMemory Data Size = ByteDMA_PeripheralBaseAddr as (uint32_t)&GPIOI->ODRPeripheral Increment DisabledFIFO Mode DisabledPeripheral Data Size = ByteDirection = Memory to PeripheralUsing DMA2 Stream6When I use the Above configuration , I do get the Transfer Complete and Half Transfer Interrupts but also FIFO Error Interrupt Flag.Scope not showing any data transfer on Port I But when I interchange the Memory and Peripheral Addresses with the corresponding changesDMA_Memory0BaseAddr as (uint32_t)&GPIOI->ODR (previously 0x20005000)Memory Increment Disabled ( Previously Enabled)DMA_PeripheralBaseAddr as 0x20005000 (previously (uint32_t)&GPIOI->ODR )Peripheral Increment Enabled (previously Disabled)Direction = Peripheral to Memory (previously Memory to Peripheral)Other parameter being unchanged.Results: FIFO Error Interrupt flag is not seen.TCIF and HTIF are set.Data is also visible on the Port I.Can someone explain this behaviorRegards,Pankaj #stm32-dma