|
发表于 2011-3-17 18:56:55
|
显示全部楼层
请问楼主,如果想修改ov7670的分辨率应该如何操作
比如,我想使用QCIF(176x144)格式输出,首先修改了ov7670Config.h中的change_reg[CHANGE_REG_NUM][2],将{0x12, 0x14}改为{0x12, 0x0c},然后修改ILI9325.c中的LCD_Scan_Set()函数
void LCD_Scan_Set(char i)
{
if(i)
{
LCD_WR_REG(0x0003,(1<<12)|(0<<5)|(0<<4)|(1<<3)|(1<<0));
Lcd_SetCursor(175,143);
}
else {LCD_WR_REG(0x0003,(1<<12)|(1<<5)|(0<<4)|(1<<3)|(1<<0));Lcd_SetCursor(0,239);}
LCD_WR_REG(0x0050,0x00);//水平 GRAM起始位置
LCD_WR_REG(0x0051,143);//水平GRAM终止位置
LCD_WR_REG(0x0052,0x00);//垂直GRAM起始位置
LCD_WR_REG(0x0053,175);//垂直GRAM终止位置
Lcd_WR_Start();
}
再修改ov7670_test.c中的写屏部分
将
//--------------------------------------------------
for( a = 0;a < 320*240; a++)
{
FIFO_RD_L();
Clr_nWr;
Set_nWr;
FIFO_RD_H();
FIFO_RD_L();
Clr_nWr;
Set_nWr;
FIFO_RD_H();
}
//-----------------------------------------------------------
改为
for( a = 0;a < 176*144; a++)
{
FIFO_RD_L();
Clr_nWr;
Set_nWr;
FIFO_RD_H();
FIFO_RD_L();
Clr_nWr;
Set_nWr;
FIFO_RD_H();
}
//------------------------------------------------
但是显示的不对,请问应该如何设置?
另外,数据手册里有一条
Supports image sizes: VGA, CIF, and any size scaling
down from CIF to 40x30
这里的any size scaling是通过哪些寄存器设置的,试着改了几个好像都不对啊。 |
|