智能车制作

标题: 线性CCD采集时序讨论 [打印本页]

作者: love酿苦瓜    时间: 2014-6-29 22:35
标题: 线性CCD采集时序讨论
之前用着的都是直接延时来模拟CCD的SI和CLK时序,并把整个采集函数放在主函数里面循环执行 采集一次就要10ms 有人建议用中断来模拟时序,周期性中断时间是0.003 125ms,采集的图像黑白压差很低,大家一起讨论讨论怎么破

void CCD_collect(void)
{
    uint c_line;
     if(b==8255)
      {  
         if(SI==0)
         {
           
            for(a=0;a<128;a++)
             {
               while(!ATD0STAT0_SCF);
              CCD[a]ATD0DR0;
             }
         }
      }
}

#pragma CODE_SEG NON_BANKED
void interrupt 66 PIT0Interrupt(void)
{           
     PITTF_PTF0=1;
     
     
     b++;
     if(b>=16&&b<=48)
     {
       SI=1;
     }
     else  SI=0;
     if(b>=8256)     b=0;  
   

     a++;
     if(a<=32)
     {
       clk=0;
     }
     else clk=1;
     if(a>=64)
     {
     a=0;
     }
}
#pragma CODE_SEG DEFAULT







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