|
发表于 2010-5-13 09:14:55
|
显示全部楼层
回复【楼主位】wangguanfu
-----------------------------------------------------------------------
群主向你诚心的请教OV7670的问题啊?
我的main()程序是这样的
int main(void)
{
RCC_Configuration( );
GPIO_Configuration( );
InitDisplay( );
ili9320_Test( );
while(1!=OV7660_init() ); //初始化ov7660
ili9320_Clear(0xffff );
while(1)
{
pixel=0;
i=0;
CLK_init_ON(); //给系统时钟信号
while(value_VSYNC & 0x0001) value_VSYNC = GPIOB->IDR; //VSYNC = "H" PB0
while((~value_VSYNC) & 0x0001) value_VSYNC = GPIOB->IDR; //VSYNC = "L"
ili9320_WriteRegister(0x0050, 0); //水平GRAM起始位置
ili9320_WriteRegister(0x0051,239); //水平GRAM终止位置
ili9320_WriteRegister(0x0052, 0); //垂直GRAM起始位置
ili9320_WriteRegister(0x0053,319); //垂直GRAM终止位置
ili9320_WriteRegister(0x0020, 0);
ili9320_WriteRegister(0x0021, 0);
Clr_Cs;
ili9320_WriteIndex(0x0022 );
CLK_init_OFF();
while(pixel < 76800){
XCLK_L; //时钟信号Raising
XCLK_H;
RGB = GPIOD->IDR; //PD0~PD7
i++;
if(GPIOC->IDR & 0x0020){ //HREF="H"
if(i==1){
val = RGB << 8; //high byte
}
else{
val|= (RGB & 0x00ff); //16bits
i = 0;
ili9320_WriteData(val);
pixel ++;
}
}
}
Set_Cs;
}
} |
|