/*!
 *  @brief      鹰眼ov7725 DMA中断服务函数
 *  @since      v5.0
 */
void ov7725_eagle_dma()
{
    //ov7725_eagle_img_flag = IMG_FINISH ;
    DMA_IRQ_CLEAN(DMA_CH4);           //清除通道传输中断标志位
    DMA_DIS(DMA_CH4);                                     
    DMA_IRQ_DIS(DMA_CH4) ;
    //uart_putchar (UART0, 3);
}
Exemple #2
0
void DMA_CH4_Handler(void)
{
  //DMA通道4
  DMA_IRQ_CLEAN(DMA_CH4) ;
  DMA_IRQ_DIS(DMA_CH4);
  DMA_DIS(DMA_CH4);
  DMA_Over_Flag = 1 ;
  
}
/*!
 *  @brief      鹰眼ov7725管脚初始化(内部调用)
 *  @since      v5.0
 */
void ov7725_eagle_port_init()
{
    //DMA通道0初始化,PTA27触发源(默认上升沿),源地址为PTB_B0_IN,目的地址为:IMG_BUFF,每次传输1Byte
    dma_portx2buff_init(DMA_CH4, (void *)&PTE_B0_IN, ov7725_eagle_img_buff[0], PTD12, DMA_BYTE1,DATACOUNT , DADDR_KEEPON);

    DMA_DIS(DMA_CH4);
    DMA_IRQ_DIS(DMA_CH4);
    DMA_IRQ_CLEAN(DMA_CH4);                   //清除通道传输中断标志位
    disable_irq(PORTD_IRQn);                        //关闭PTd的中断
    //set_irq_priority(90,0);
}
void Ov7725_exti_Init()
{
	//DMA通道0初始化,PTB0上升沿触发DMA传输,源地址为PTD_BYTE0_IN,目的地址为:BUFF ,每次传输1Byte,传输320次后停止传输,保存目的地址不变	
	DMA_PORTx2BUFF_Init(CAMERA_DMA_CH, (void *)&PTB_BYTE0_IN, (void *)IMG_BUFF, PTB8, DMA_BYTE1, 320*2-2, DMA_rising_down_keepon);
	
	DMA_DIS(DMA_CH0);		//先关闭 DMA
	DMA_IRQ_DIS(DMA_CH0);	//不需要使用DMA中断,由行中断来控制DMA传输

	exti_init(PORTA,29,rising_down);	//场中断,内部下拉,上升沿触发中断
	exti_init(PORTA,28,rising_down);	//行中断,内部下拉,上升沿触发中断
}
Exemple #5
0
void DMA_CH4_Handler(void)
{
  //DMA通道4
  //  u16 i ;
 //    uart_putchar(UART0,0XAA);
    DMA_IRQ_CLEAN(DMA_CH4) ;
    DMA_IRQ_DIS(DMA_CH4);
    DMA_DIS(DMA_CH4);
    DMA_Over_Flg = 1 ;
  //   disable_irq(PORTC+87);

}