智能车制作

标题: K6采集CCD要20ms后才能用,怎么回事 [打印本页]

作者: 菜鸟威    时间: 2013-3-24 11:26
标题: K6采集CCD要20ms后才能用,怎么回事

           void main()
           {
                    省略初始化
                    for(;;)
                   {
                        TSL1401_GetLine();
                          delayms(20);
                    Handle_TSL1401_Pixel();
                }
            }

           void Handle_TSL1401_Pixel(void)
          {

                uint8 i,j,L_number;
                Leftstopflag = 0;
               for (i=3; i<126; i++)
              {
                   if(Pixel_ADC[i]>100)   
                  {

                     Leftstopflag = 1;
                     BELL_on();
                     printf("%d",i);
                     break;      
                  }      
                 if (Leftstopflag==1)
                 {
                  break;
                 }      
             }
          }

void TSL1401_GetLine(void)
{
    uint8 i,j=0;

    TSL1401_CLK(1);   //CLK拉高
    TSL1401_SI(0);    //SI拉低
     delayus();        //延时1us
  // asm("nop");
    TSL1401_SI(1);    //SI拉高
    TSL1401_CLK(0);   //CLK拉低
   delayus();        //延时1us
   //  asm("nop");
    TSL1401_CLK(1);   //CLK拉高
    TSL1401_SI(0);    //SI拉低
    delayus();        //延时1us
    delayus();
    delayus();
    delayus();
    delayus();
    // asm("nop");  
    for (i=0; i<128; i++)
    {
       TSL1401_CLK(0);   //CLK拉低
      delayus();        //延时1us
     //  asm("nop");
        Pixel_ADC[j] = ad_once(ADC1,SE11,ADC_8bit); //ad_once(ADC1,SE11,ADC_8bit); //8位精度
       ++j;
       TSL1401_CLK(1);   //CLK拉高
     //  asm("nop");
      delayus();        //延时1us
    }
   // BELL_on();
}

第一个是采集函数,第二个是处理,刚开始蜂鸣器响,如果把摄像头遮住的话,蜂鸣器不响,如果把手放开,也不响,进不去那个处理函数了,这是什么回事??


作者: 菜鸟威    时间: 2013-3-24 11:50
void Send_TSL1401_Pixel(void)
{
   
   uint8 i,j,L_number;
    Leftstopflag = 0;
    for (i=3; i<126; i++)
   {
      
      if(Pixel_ADC[i]>100)   
      {
         j=i+9;
         if (j>=125)
         {
            j=125;
         }
        for (j=i; j<i+9; j++)
        {
          if (Pixel_ADC[j] > 100)
          {
             L_number++;
             if (L_number>=6)
             {
                Leftstopflag = 1;
                BELL_on();
                printf("%d",i);
                break;     
             }
          }  
        }   
      }
      if (Leftstopflag==1)
      {
         break;
      }      
   }
}

作者: 菜鸟威    时间: 2013-3-27 15:32
问题还是自己解决了,是自己的理解错误导致的,不容易呀
作者: 小傻妞儿    时间: 2014-4-3 16:37
菜鸟威 发表于 2013-3-27 15:32
问题还是自己解决了,是自己的理解错误导致的,不容易呀

大哥 我也在这里卡了很久了 你能告诉 我怎么回事么 非常感谢 毕竟 20ms 太长了

作者: 三色瑾    时间: 2014-4-5 10:44
自适应曝光用的就是20ms固定一次,可以把曝光点时间前段时间去除。
作者: wangyulin    时间: 2015-3-23 20:30
为什么ADC需要20ms

作者: 燃火微风    时间: 2016-6-3 16:47
求解   。。。。。。。。
作者: 燃火微风    时间: 2016-6-6 21:26
小傻妞儿 发表于 2014-4-3 16:37
**** 作者被禁止或删除 内容自动屏蔽 ****

求解,,,问题出在哪里





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