请大师指点一下 现在我在用——STM32F103ZE,摄像头是带FIFO的ov7670,显示屏是ILI9320(320×240), 下面程序中问题来源是 : for(i = 0; i < 9600; i ++) for(j = 0; j <8; j ++) ...... 如果是 i<9600,j<8,TFT可以很清晰的显示摄像头拍摄的图像, 但是如果换成 i<320,j<240 ,或者是其它,TFT就不能清楚的现实图像,这是为什么呢? 中断的程序如下: void EXti15_10_IRQHandler(void) { u16 i,j; u16 t1,t2; EXTI_ClearITPendingBit(EXTI_Line11); Vsync_Flag++; if(Vsync_Flag==1) //FIFO写指针复位 { FIFO_WRST=1; FIFO_WRST=0; for(i=0;i<100;i++); FIFO_WRST=1; FIFO_WR=1; //允许CMOS数据写入FIFO } if(Vsync_Flag==2) { FIFO_WR=0; //禁止CMOS数据写入FIF0 FIFO_RRST=0; //FIFO读指针复位 FIFO_RCK=0; FIFO_RCK=1; FIFO_RCK=0; FIFO_RCK=1; FIFO_RRST=1; LCD_SetDisplayWindow(0,0,239,319); LCD_WriteRAM_Prepare(); delay_us(20); FIFO_OE=0; //允许FIFO输出 for(i = 0; i < 9600; i ++) //该开发的TFT屏最大显示尺寸320*240 { for(j = 0; j <8; j ++) { FIFO_RCK=0; FIFO_RCK=1; t1=(0x00ff&GPIOC->IDR); FIFO_RCK=0; FIFO_RCK=1; t2=(0x00ff&GPIOC->IDR); LCD_WriteRAM((t1<<8)|t2); // delay_us(3); } } FIFO_OE=1; //禁止FIFO输出 Vsync_Flag=0; } } |
更多回帖