高级会员

- 积分
- 570
- 金钱
- 570
- 注册时间
- 2016-3-1
- 在线时间
- 84 小时
|
5金钱
本帖最后由 feiyinglala 于 2016-6-2 00:13 编辑
如题,我用STM32F051驱动OV7670,现在倒是可以从摄像头里读出数据,把OV7670配置为测试模式(8色彩条),读出的数据包却是这样,见图1,颜色不对劲。想请教一下如何查找问题,从哪里下手
说明:数据中一段对应一行像素,数据段中每行前两字节为我自己加的格式头,随后的30字节才是对应的像素数据。一行像素分22个包由无线模块传送,最后一个包的尾部20字节无用。
OV7670的工作模式:320*240 QVGA RGB565
上位机画面显示
读出的数据包
[mw_shl_code=c,true]/*****************************读出的第一行像素************************/
FE 01 BD D7 BD D7 BD D7 BD D7 BD D7 BD D7 BD D7 BD D7 BD D7 BD D7 BD D7 BD D7 BD D7 BD D7 BD D7
00 01 BD D7 BD D7 BD D7 BD D7 BD D7 BD D7 BD D7 BD D7 BD D7 BD D7 BD D7 BD D7 BD 52 B4 F1 B5 48
00 01 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48
00 01 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48
00 01 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48 47 07 26 03 25 74 25 74 25 74 25 74 25 74 25 74
00 01 25 74 25 74 25 74 25 74 25 74 25 74 25 74 25 74 25 74 25 74 25 74 25 74 25 74 25 74 25 74
00 01 25 74 25 74 25 74 25 74 25 74 25 74 25 74 25 74 25 74 25 74 25 74 25 74 25 74 25 74 25 74
00 01 25 74 25 74 25 74 25 74 2C CF 1C 8E 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05
00 01 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05
00 01 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05 BA 66
00 01 A1 A3 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1
00 01 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1
00 01 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 A0 4D 90 0B 90 63 90 63
00 01 90 63 90 63 90 63 90 63 90 63 90 63 90 63 90 63 90 63 90 63 90 63 90 63 90 63 90 63 90 63
00 01 00 6E 00 6E 00 6E 00 6E 00 6E 00 6E 00 6E 00 6E 00 6E 00 6E 00 6E 00 6E 00 6E 00 6E 00 6E
00 01 00 6E 00 6E 00 6E 00 6E 00 6E 00 6E 00 6E 00 6E 00 6E 00 6E 00 6E 00 6E 00 6E 00 6E 00 6E
00 01 00 6E 00 6E 00 6E 08 0A 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 20 94 51
00 01 BD D7 BD D7 BD D7 BD D7 BD D7 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
/*****************************读出的第一行像素************************/
FE 02 BD D7 BD D7 BD D7 BD D7 BD D7 BD D7 BD D7 BD D7 BD D7 BD D7 BD D7 BD D7 BD D7 BD D7 BD D7
00 02 BD D7 BD D7 BD D7 BD D7 BD D7 BD D7 BD D7 BD D7 BD D7 BD D7 BD D7 BD D7 BD 52 B4 F1 B5 48
00 02 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48
00 02 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48
00 02 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48 B5 48 47 07 26 03 25 74 25 74 25 74 25 74 25 74 25 74
00 02 25 74 25 74 25 74 25 74 25 74 25 74 25 74 25 74 25 74 25 74 25 74 25 74 25 74 25 74 25 74
00 02 25 74 25 74 25 74 25 74 25 74 25 74 25 74 25 74 25 74 25 74 25 74 25 74 25 74 25 74 25 74
00 02 25 74 25 74 25 74 25 74 2C CF 1C 8E 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05
00 02 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05
00 02 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05 1D 05 BA 66
00 02 A1 A3 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1
00 02 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1
00 02 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 98 D1 A0 4D 90 0B 90 63 90 63
00 02 90 63 90 63 90 63 90 63 90 63 90 63 90 63 90 63 90 63 90 63 90 63 90 63 90 63 90 63 90 63
00 02 90 63 90 63 90 63 90 63 90 63 90 63 90 63 90 63 90 63 90 63 90 63 90 63 90 63 90 63 90 63
00 02 90 63 90 63 90 63 90 63 90 63 90 63 22 02 00 E0 00 6E 00 6E 00 6E 00 6E 00 6E 00 6E 00 6E
00 02 00 6E 00 6E 00 6E 00 6E 00 6E 00 6E 00 6E 00 6E 00 6E 00 6E 00 6E 00 6E 00 6E 00 6E 00 6E
00 02 00 6E 00 6E 00 6E 00 6E 00 6E 00 6E 00 6E 00 6E 00 6E 00 6E 00 6E 00 6E 00 6E 00 6E 00 6E
00 02 00 6E 00 6E 00 6E 08 0A 00 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 08 20 94 51
00 02 BD D7 BD D7 BD D7 BD D7 BD D7 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
00 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
[/mw_shl_code]
/***************STM驱动读取摄像头的程序如下***************/
[mw_shl_code=c,true]{//读取一帧画面
V_XCLK_OFF();
//等待进入帧同步中断
do{
V_XCLK_L;
V_XCLK_H;
}
while(!GPIO_ReadInputDataBit(V_CONTROL,V_SYNC_Pin)); //捕获场同步的高电平
do{
V_XCLK_L;
V_XCLK_H;
}
while(GPIO_ReadInputDataBit(V_CONTROL,V_SYNC_Pin)); //捕获场同步的高电平
Task_Flag |= 0x08;
Task_Flag |= 0x04;
Herf_Counter = 0;
Current_Buf = V_Buf1;
for(;Herf_Counter<=240;)
{
do {
V_XCLK_H;
V_XCLK_L;
}
while(!GPIO_ReadInputDataBit(V_CONTROL,V_HERF_Pin)); //捕获到行同步
Point_Counter =0;
Herf_Counter += 1; //
Point_Counter = 0;
*Current_Buf = (u8) (Herf_Counter>>8); //DDêy¸3Öμ
*(Current_Buf+1) = (u8) Herf_Counter;
while(Point_Counter<640)
{
V_XCLK_H;
*(Current_Buf+2+Point_Counter++) = OV7670_Data_Cap();
V_XCLK_L;
}
OV7670_Data_Send(Current_Buf); //每采集完一行的数据后就发送,然后
}
return 0;
}[/mw_shl_code]
OV7670寄存器配置
|
|