初级会员

- 积分
- 84
- 金钱
- 84
- 注册时间
- 2014-4-22
- 在线时间
- 0 小时
|

楼主 |
发表于 2014-5-15 14:17:57
|
显示全部楼层
总的过程就是摄像头拍摄,在LCD上显示,同时将像素数据通过射频芯片传输,程序如下:
void camera_refresh(void)
{
u32 j;
u16 color;
u8 t=0,sss=0;
if(ov_sta==2)
{
LCD_Scan_Dir(U2D_L2R); //从上到下,从左到右
LCD_SetCursor(0x00,0x0000); //设置光标位置
LCD_WriteRAM_Prepare(); //开始写入GRAM
OV7670_RRST=0; //开始复位读指针
OV7670_RCK=0;
OV7670_RCK=1;
OV7670_RCK=0;
OV7670_RRST=1; //复位读指针结束
OV7670_RCK=1;
for(j=0;j<76800;j++)
{
OV7670_RCK=0;
color=GPIOC->IDR&0XFF; //读数据
OV7670_RCK=1;
color<<=8;
OV7670_RCK=0;
color|=GPIOC->IDR&0XFF; //读数据
OV7670_RCK=1;
LCD->LCD_RAM=color;
mycolor=color;
mycolorL=mycolor&0x00ff;
mycolorH=(mycolor>>8)&0x00ff;
tmp_buf[0]=30;
tmp_buf[2*t+2]=mycolorH;
tmp_buf[2*t+1]=mycolorL;
sss++,t++;
if(sss==15)
{ NRF24L01_TxPacket(tmp_buf);
while(NRF24L01_TxPacket(tmp_buf)!=TX_OK);
sss=0,t=0;
}
}
ov_frame++;
printf("%x",ov_frame);
ov_sta=0;
OV7670_WREN=0;
LCD_Scan_Dir(DFT_SCAN_DIR); //恢复默认扫描方向
}
} |
|