2015-04-02 06:34 AM
Hi,
I just want to transfer buffer of bytes to lower nible of GPIOA port (PA0-PA3). The timer 8 in in use, and it's running in output compare mode. First channel is configured to generate DMA requests and toggle PC6 pin. The buffer is filled with values from 0 to 15 and has about 1000 byte length. It timer runs at 8Mhz everything seems to be ok. There is only small 10ns gap (markers M3-M4) between channel toggle and new data transfer to port. It's ok and it's related to limitation of 100Mhz logical analyzer. But if timer runs at 22Mhz, or even less, the generated output looks terrible. See how it looks like: http://imageshack.com/a/img911/3975/4tznds.gif http://imageshack.com/a/img673/9196/lEYo55.gif The second issue is that DMA transfer works only in circular mode. In normal mode only one byte instead of whole buffer is transfered. Is it normal? Any idea how fix my problems? Thank you in advance Krzysiek #stm32f4 #gpio #dma #discovery