智能车制作

标题: OV7620采集问题 [打印本页]

作者: dongyunlong    时间: 2012-3-26 20:43
标题: OV7620采集问题
请问这是怎么回事呢?不是同时采集到了奇偶场吧?
作者: wwk2008310211    时间: 2012-3-26 21:05
可能是读数据的时间太长,读到了无效的数据。摄像头行中断的下降缘之后的数据。

作者: wwk2008310211    时间: 2012-3-26 21:07
顺便问一下,你是不是用上位机那?是的话给我发一个呗!谢谢
作者: dongyunlong    时间: 2012-3-26 21:21
呵呵 怎么讲呢?详细一点
作者: moonlight831    时间: 2012-3-26 21:44
这个程序能发一个么?我还不会弄。。。。。~楼主~~~~ 514623223@qq.com
作者: 齐天小晟    时间: 2012-3-27 14:41
dongyunlong 发表于 2012-3-26 21:21
呵呵 怎么讲呢?详细一点

这个问题我可以回答你,是你每个像素点读取间隔太长了,你是不是在读取数据时用了for循环或者用了延时,这样会导致读取间隔太大,在一行的时间内重复读了好几次这行的图像
作者: 齐天小晟    时间: 2012-3-27 14:42
齐天小晟 发表于 2012-3-27 14:41
这个问题我可以回答你,是你每个像素点读取间隔太长了,你是不是在读取数据时用了for循环或者用了延时,这 ...

可以用空操作即nop指令进行延时,但是不能用延时函数,函数调用会占用很多时间
作者: dongyunlong    时间: 2012-3-27 16:10
不是for循环??要这样吗?Image_Data[Hang_C][0] = PORTA;
_asm(nop);                  
Image_Data[Hang_C][1] = PORTA;
_asm(nop);
Image_Data[Hang_C][2] = PORTA;
_asm(nop);
Image_Data[Hang_C][3] = PORTA;
_asm(nop);
Image_Data[Hang_C][4] = PORTA;
_asm(nop);
Image_Data[Hang_C][5] = PORTA;
_asm(nop);
Image_Data[Hang_C][6] = PORTA;
_asm(nop);
Image_Data[Hang_C][7] = PORTA;
_asm(nop);
Image_Data[Hang_C][8] = PORTA;
_asm(nop);
Image_Data[Hang_C][9] = PORTA;
_asm(nop);
Image_Data[Hang_C][10] = PORTA;
_asm(nop);
Image_Data[Hang_C][11] = PORTA;
_asm(nop);
Image_Data[Hang_C][12] = PORTA;
_asm(nop);
Image_Data[Hang_C][13] = PORTA;
_asm(nop);
Image_Data[Hang_C][14] = PORTA;
_asm(nop);
Image_Data[Hang_C][15] = PORTA;
_asm(nop);
Image_Data[Hang_C][16] = PORTA;
_asm(nop);
Image_Data[Hang_C][17] = PORTA;
_asm(nop);
Image_Data[Hang_C][18] = PORTA;
_asm(nop);
Image_Data[Hang_C][19] = PORTA;
_asm(nop);
Image_Data[Hang_C][20] = PORTA;
_asm(nop);
Image_Data[Hang_C][21] = PORTA;
_asm(nop);
Image_Data[Hang_C][22] = PORTA;
_asm(nop);
Image_Data[Hang_C][23] = PORTA;
_asm(nop);
Image_Data[Hang_C][24] = PORTA;
_asm(nop);
Image_Data[Hang_C][25] = PORTA;
_asm(nop);
Image_Data[Hang_C][26] = PORTA;
_asm(nop);
Image_Data[Hang_C][27] = PORTA;
_asm(nop);
Image_Data[Hang_C][28] = PORTA;
_asm(nop);
Image_Data[Hang_C][29] = PORTA;
_asm(nop);
Image_Data[Hang_C][30] = PORTA;
_asm(nop);
Image_Data[Hang_C][31] = PORTA;
_asm(nop);
Image_Data[Hang_C][32] = PORTA;
_asm(nop);
Image_Data[Hang_C][33] = PORTA;
_asm(nop);
Image_Data[Hang_C][34] = PORTA;
_asm(nop);
Image_Data[Hang_C][35] = PORTA;
_asm(nop);
Image_Data[Hang_C][36] = PORTA;
_asm(nop);
Image_Data[Hang_C][37] = PORTA;
_asm(nop);
Image_Data[Hang_C][38] = PORTA;
_asm(nop);
Image_Data[Hang_C][39] = PORTA;
_asm(nop);
Image_Data[Hang_C][40] = PORTA;
_asm(nop);
Image_Data[Hang_C][41] = PORTA;
_asm(nop);
Image_Data[Hang_C][42] = PORTA;
_asm(nop);
Image_Data[Hang_C][43] = PORTA;
_asm(nop);
Image_Data[Hang_C][44] = PORTA;
_asm(nop);
Image_Data[Hang_C][45] = PORTA;
_asm(nop);
Image_Data[Hang_C][46] = PORTA;
_asm(nop);
Image_Data[Hang_C][47] = PORTA;
_asm(nop);
Image_Data[Hang_C][48] = PORTA;
_asm(nop);
Image_Data[Hang_C][49] = PORTA;
_asm(nop);
Image_Data[Hang_C][50] = PORTA;
_asm(nop);
Image_Data[Hang_C][51] = PORTA;
_asm(nop);
Image_Data[Hang_C][52] = PORTA;
_asm(nop);
Image_Data[Hang_C][53] = PORTA;
_asm(nop);
Image_Data[Hang_C][54] = PORTA;
_asm(nop);
Image_Data[Hang_C][55] = PORTA;
_asm(nop);
Image_Data[Hang_C][56] = PORTA;
_asm(nop);
Image_Data[Hang_C][57] = PORTA;
_asm(nop);
Image_Data[Hang_C][58] = PORTA;
_asm(nop);
Image_Data[Hang_C][59] = PORTA;
_asm(nop);
Image_Data[Hang_C][60] = PORTA;
_asm(nop);
Image_Data[Hang_C][61] = PORTA;   
_asm(nop);
Image_Data[Hang_C][62] = PORTA;   
_asm(nop);
Image_Data[Hang_C][63] = PORTA;  
_asm(nop);
Image_Data[Hang_C][64] = PORTA;  
_asm(nop);
Image_Data[Hang_C][65] = PORTA;  
_asm(nop);
Image_Data[Hang_C][66] = PORTA;  
_asm(nop);
Image_Data[Hang_C][67] = PORTA;  
_asm(nop);
Image_Data[Hang_C][68] = PORTA;  
_asm(nop);
Image_Data[Hang_C][69] = PORTA;   
_asm(nop);
Image_Data[Hang_C][70] = PORTA;   
_asm(nop);
Image_Data[Hang_C][71] = PORTA;   
_asm(nop);
Image_Data[Hang_C][72] = PORTA;   
_asm(nop);
Image_Data[Hang_C][73] = PORTA;  
_asm(nop);
Image_Data[Hang_C][74] = PORTA;  
_asm(nop);
Image_Data[Hang_C][75] = PORTA;   
_asm(nop);
Image_Data[Hang_C][76] = PORTA;   
_asm(nop);
Image_Data[Hang_C][77] = PORTA;  
_asm(nop);
Image_Data[Hang_C][78] = PORTA;  
_asm(nop);
Image_Data[Hang_C][79] = PORTA;   
_asm(nop);
Image_Data[Hang_C][80] = PORTA;
_asm(nop);
作者: dongyunlong    时间: 2012-3-27 16:13
我开始确实用的for循环          if(M%Interval==0)
          {     
               for(Line_C=0;Line_C<COLUMN_VALUE;Line_C++){
                        Image_Data[Hang_C][Line_C] = PORTA;
               }
          }
          Hang_C++;


上面的是我改过之后的,是这样吗?
作者: luojihao24669    时间: 2012-3-27 17:19
你用的是什么摄像头,开启隔行没?


作者: dongyunlong    时间: 2012-3-27 18:25
我用的OV7620  应该开了吧  卖家给设置好的
作者: 二硫碘化钾    时间: 2012-4-3 10:16
dongyunlong 发表于 2012-3-27 18:25
我用的OV7620  应该开了吧  卖家给设置好的

应该是串口工具的问题,有的串口工具有bug,当采集数据列数小于屏幕一半时,它会自动将两行合并成一行,即使加了换行和回车也不行,你把窗口调窄应该就可以了

作者: wanglichao    时间: 2012-4-3 19:59
楼上的说的对,应该是串口软件的问题
作者: 林牛牛    时间: 2012-4-8 17:28
不知道采集到这样的数据以后要怎么做呢?





欢迎光临 智能车制作 (http://dns.znczz.com/) Powered by Discuz! X3.2