It's nucleo f4 DMA trandfer for ov7670&ILI9341.

Dependencies:   mbed ILI9341_SPI OV7670_SCCB

Revision:
0:ce10b2e08479
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/TIM_DMAInit.h	Mon Apr 04 02:05:59 2016 +0000
@@ -0,0 +1,73 @@
+#include "mbed.h"
+
+
+DMA_HandleTypeDef DMA_HandleType ={
+    DMA2_Stream1,
+    {
+        DMA_CHANNEL_6,  // Request source is TIM_CH1
+        DMA_PERIPH_TO_MEMORY,
+        DMA_PINC_DISABLE,
+        DMA_MINC_ENABLE,             
+        DMA_PDATAALIGN_BYTE,
+        DMA_MDATAALIGN_BYTE,
+        DMA_CIRCULAR,//DMA_PFCTRL,//
+        DMA_PRIORITY_VERY_HIGH,
+        DMA_FIFOMODE_DISABLE,//DMA_FIFOMODE_ENABLE,
+        DMA_FIFO_THRESHOLD_HALFFULL,
+         DMA_PBURST_INC4 ,
+        DMA_PBURST_SINGLE
+    },
+    HAL_UNLOCKED,
+    HAL_DMA_STATE_RESET,//HAL_DMA_STATE_READY
+    NULL, // parent
+    NULL, //dma_transfer_complete, // XferCpltCallback
+    NULL, // XferHalfCpltCallback
+    NULL, // XferM1CpltCallback
+    NULL, //dma_error, // XferErrorCallback
+    NULL  // ErrorCode
+};
+
+TIM_HandleTypeDef         htim;
+
+
+
+void dma_init(void)
+{
+    TIM_IC_InitTypeDef       icconf;
+    GPIO_InitTypeDef gpioconf;   
+    __DMA2_CLK_ENABLE();
+    __TIM1_CLK_ENABLE();
+    __GPIOA_CLK_ENABLE();
+
+    
+    
+    /* PA8 -> TIM1_CH1  */
+   
+    gpioconf.Mode = GPIO_MODE_AF_OD;
+     gpioconf.Pin = GPIO_PIN_8;
+    gpioconf.Pull = GPIO_PULLUP;
+    gpioconf.Speed = GPIO_SPEED_HIGH;
+    gpioconf.Alternate = GPIO_AF1_TIM1;
+    HAL_GPIO_Init(GPIOA, &gpioconf);
+
+    HAL_DMA_Init(&DMA_HandleType);
+ 
+    htim.Instance = TIM1;
+    htim.Init.Period        = 1;
+    htim.Init.Prescaler     = 0;
+    htim.Init.ClockDivision = 0;
+    htim.Init.CounterMode   = TIM_COUNTERMODE_UP;
+    HAL_TIM_IC_Init(&htim);
+    
+    icconf.ICPolarity  = TIM_ICPOLARITY_FALLING;
+    //icconf.ICPolarity  = TIM_ICPOLARITY_RISING;
+    icconf.ICSelection = TIM_ICSELECTION_DIRECTTI;
+    icconf.ICPrescaler = TIM_ICPSC_DIV1;
+    icconf.ICFilter    = 0;
+    HAL_TIM_IC_ConfigChannel(&htim, &icconf, TIM_CHANNEL_1);
+    __HAL_TIM_ENABLE_DMA(&htim, TIM_DMA_CC1);
+    
+    /* Start the TIM1 Channel1 */
+    HAL_TIM_IC_Start(&htim, TIM_CHANNEL_1);
+    
+}
\ No newline at end of file