新手上路
- 积分
- 23
- 金钱
- 23
- 注册时间
- 2015-11-1
- 在线时间
- 1 小时
|

楼主 |
发表于 2016-1-17 15:03:35
|
显示全部楼层
void camera_refresh(void)
{
u32 j;
u16 color,tmpcolor,acolor,bcolor,ccolor;
if(ov_sta==2)
{
LCD_Scan_Dir(U2D_L2R); //从上到下,从左到右
LCD_SetCursor(0x00,0x0000); //设置光标位置
LCD_WriteRAM_Prepare(); //开始写入GRAM
OV7670_CS=0;
OV7670_RRST=0; //开始复位读指针
OV7670_RCK=0;
OV7670_RCK=1;
OV7670_RCK=0;
OV7670_RRST=1; //复位读指针结束
OV7670_RCK=1;
for(j=0;j<76800;j++)
{
GPIOB->CRL=0X88888888;
OV7670_RCK=0;
tmpcolor=OV7670_DATA; //读数据
OV7670_RCK=1;
tmpcolor<<=8;
OV7670_RCK=0;
tmpcolor|=OV7670_DATA; //读数据
OV7670_RCK=1;
GPIOB->CRL=0X33333333;
acolor=tmpcolor&0xf800;
bcolor=tmpcolor&0x07e0;
ccolor=tmpcolor&0x001f;
color=acolor*0.3+bcolor*0.587+ccolor*0.114;
//color=color&0x00ff;
LCD_WR_DATA(color);
}
OV7670_CS=1;
OV7670_RCK=0;
OV7670_RCK=1;
EXTI->PR=1<<15; //清除LINE8上的中断标志位
ov_sta=0; //开始下一次采集
ov_frame++;
LCD_Scan_Dir(DFT_SCAN_DIR); //恢复默认扫描方向
}
}
int main(void)
{。。。。。。。。。。。。。。 |
|