[mw_shl_code=c,true]void camera_refresh(void)
{
u32 i,j,k=0;
u16 color;
if(ov_sta==2)
{
Write_Com(0x0003,0x1038); //更改扫描方向
delay_us(500);
Write_Com(0x0021,0); //行首址坐标为0
delay_us(500);
Write_Com(0x0020,0); //列首址坐标为0
Send_Command(0x22); //写准备
delay_us(500);
OV7670_RRST=0; //开始复位读指针
OV7670_RCK=0;
OV7670_RCK=1;
OV7670_RCK=0;
OV7670_RRST=1; //复位读指针结束
OV7670_RCK=1;
for(j=0;j<320;j++)
{
// delay_us(100);
for(i=0;i<240;i++)
{
OV7670_RCK=0;
color=GPIOC->IDR&0XFF; //读数据
OV7670_RCK=1;
color<<=8;
OV7670_RCK=0;
color|=GPIOC->IDR&0XFF; //读数据
OV7670_RCK=1;
Send_Data(color);
delay_us(100);
k++;
}
}
printf("FINISH\r\n");
if(k==76800)
{
printf("OK\r\n");
}
EXTI_ClearITPendingBit(EXTI_Line10); //清除LINE8上的中断标志位
ov_sta=0; //开始下一次采集
ov_frame++;
Write_Com(0x0003,0x1030); //恢复默认扫描方向
}
} [/mw_shl_code]
这是刷新函数,FINISH 和OK都是同时出现的啊
|