智能车制作

标题: 摄像头输出全为0XFF。。。 [打印本页]

作者: luxiaoev    时间: 2012-6-28 10:29
标题: 摄像头输出全为0XFF。。。
我用的是ov7670+AL422b,读出的数据全为0XFF,请问这是哪里出了问题啊?
作者: yukunlinykl    时间: 2012-6-28 12:00
先用示波器看看。
作者: 叶林杰00    时间: 2012-6-28 12:03
  1. void al422b_init(void)
  2. {
  3.   OE_H;
  4.   RE_H;
  5.   WE_L;
  6.   WRST_L;                                                //写指针复位,开始往FIFO写入数据               
  7.         delay(100);
  8.         WRST_H;
  9.        
  10.         OE_L;
  11.   RE_L;
  12.   WE_L;
  13.         RRST_L;                                                //du指针复位       
  14.         delay(100);
  15.         RRST_H;
  16. }
  17. void read_init()
  18. {
  19.   OE_L;
  20.   RE_H;
  21.   WE_L;
  22.   WRST_H;
  23.   
  24.   RRST_L;                                //读指针复位                                               

  25.   RCK_L;                                //至少需要一个时钟周期的跳变才能复位
  26.   RCK_H;
  27.   RCK_L;                                //至少需要一个时钟周期的跳变才能复位
  28.   RCK_H;

  29.   RRST_H;
  30.   RE_L;
  31. }
  32. void write_init()
  33. {
  34.   OE_H ;
  35.   RE_H;
  36.   RRST_H;
  37.   
  38.   WE_L;                                        //按照手册上说明,复位时WEN要置高,但
  39.   WRST_L;                                //MCU的WEN和HREF是做与非逻辑后再输入                                                               
  40.   _asm(nop);                                        //到AL422B的,所以MCU的WEN置低则输出到422的WEN一定为低
  41. _asm(nop);                                        //写指针复位需要一定的延时                       
  42.   WRST_H;
  43. }
  44. void read_pic(void)
  45. {
  46.   uint i=0;
  47.   
  48.   m++;
  49.   if(m==5)
  50.   {
  51.   n++;
  52. m=0;
  53.   }
  54.      
  55. /* OE_L;
  56.   RE_L;
  57.           */
  58.   
  59.   /*for(i=0;i<0;i++)                          
  60.   {
  61.     RCK_L;
  62.     RCK_H;
  63.    }*/   
  64.   for(c_lie=0;c_lie<lie;c_lie++)
  65.   {
  66.     for(hang_count=0;hang_count<hang_end;hang_count++)
  67.     {
  68.       for(i=0;i<m;i++)                           //            4
  69.       {
  70.         RCK_L;
  71.         RCK_H;
  72.        }
  73.       ta[c_lie][hang_count]=PORTB;
  74.       for(i=0;i<m+1;i++)                           //          4
  75.       {
  76.         RCK_L;
  77.         RCK_H;
  78.       }
  79.      }
  80.      for(i=0;i<4*n;i++)                        //        1360
  81.      {
  82.         RCK_L;
  83.         RCK_H;
  84.      }
  85.   }
  86. }     
复制代码
个人觉得fifo很不好。
我以前用的程序,不好的,你稍微看一下。
作者: luxiaoev    时间: 2012-6-28 15:12
谢啦,正在研究程序呢~
作者: luxiaoev    时间: 2012-6-28 15:13
叶林杰00 发表于 2012-6-28 12:03
个人觉得fifo很不好。
我以前用的程序,不好的,你稍微看一下。

谢谢你的程序,为什么说fifo很不好呢,不是很好的解决了单片机速度慢的问题吗?
作者: 叶林杰00    时间: 2012-6-28 16:57
luxiaoev 发表于 2012-6-28 15:13
谢谢你的程序,为什么说fifo很不好呢,不是很好的解决了单片机速度慢的问题吗?

哈哈,是因为我这个程序从fifo读取一场图像比单片机直接从摄像头读取速度要慢很多。。。。不知道什么原因~~~~~~人家应该是速度比较快的,我就无奈了。而且不知道每一行的换行在哪里,整场图像都在一个一维数组里面很那分辨。
作者: luxiaoev    时间: 2012-6-28 19:12
按我的理解,存在fifo里的数据应该一个像素都不少,那么你设置的列数是多少,就在相应的位置换行,是这样的吧
作者: 叶林杰00    时间: 2012-6-28 19:19
luxiaoev 发表于 2012-6-28 19:12
按我的理解,存在fifo里的数据应该一个像素都不少,那么你设置的列数是多少,就在相应的位置换行,是这样的 ...

我不知道我存了几个数据嘛~~~~




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