⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 systeminitial.h

📁 基于飞思卡尔智能车比赛
💻 H
📖 第 1 页 / 共 3 页
字号:
			      }
			      black_num_cmos[line_i_10]++;    
			    if(begin_flag==2)
			      {
			        begin_flag=3;
			        index_cmos_end_temp=row_i-1;
			        break;
			      }
			    }
			    else if(begin_flag==1)
			    {
			     begin_flag=2;
			     index_cmos_end_temp=row_i-1;
			    }
			  }
 			  if(begin_flag==1)index_cmos_end_temp=row_i_end;
			 
			  index_cmos[line_i_10]=(index_cmos_begin_temp+index_cmos_end_temp)/2;

			  if((begin_flag==1 || begin_flag==2) && black_num_cmos[line_i_10]<=6) 
			  {
			    index_cmos_flag[line_i_10]=1;
			  }
			  else if(begin_flag==3)index_cmos_flag[line_i_10]=2;
			  else index_cmos_flag[line_i_10]=0;	 
		  }
		  else
		  {
		    for(row_i=row_i_end;row_i>=row_i_begin;row_i--) 
			  { 									
			    if(ad_video[line_i_10][row_i]<31)
			    {
#ifdef sci_cmos_select			       
			      if(begin_flag==1)
			         ad_video[line_i_10][row_i]=0;
#endif
			      if((ad_video[line_i_10][row_i+1]>31 || row_i==row_i_end) && begin_flag==0)
			      {
#ifdef sci_cmos_select			       
			      ad_video[line_i_10][row_i]=0;
#endif			        
			        index_cmos_begin_temp=row_i;
			        begin_flag=1;
			      }
			      black_num_cmos[line_i_10]++;    
			    if(begin_flag==2)
			      {
			        begin_flag=3;
			        index_cmos_end_temp=row_i+1;
			        break;
			      }
			    }
			    else if(begin_flag==1)
			    {
			     begin_flag=2;
			     index_cmos_end_temp=row_i+1;
			    }
			  }
			  if(begin_flag==1)index_cmos_end_temp=row_i_begin;
	     
	     	index_cmos[line_i_10]=(index_cmos_begin_temp+index_cmos_end_temp)/2;
			 
			  if((begin_flag==1 || begin_flag==2) && black_num_cmos[line_i_10]<=6) 
			  {
	
			    index_cmos_flag[line_i_10]=1;
			  }
			  else if(begin_flag==3)index_cmos_flag[line_i_10]=2;
			  else index_cmos_flag[line_i_10]=0;
			  
			 
		  }
		  if(index_cmos_flag[line_i_10]==1/* && black_num_cmos[line_i]>=1*/) //?? 
		  {
		    if(right_line_cmos==0 /*|| line_i_10==LINE_num/10*/)
		    right_line_cmos++;
		    else if(abs(index_cmos[line_i_10]-index_cmos[line_i_10+1])<=4 && 
		            black_num_cmos[line_i_10]<=black_num_cmos[line_i_10+1]+4 && black_num_cmos[line_i_10]<=6)
		    	right_line_cmos++;
		    else right_line_cmos=0; 
		  }
		  else right_line_cmos=0;
		  if(right_line_cmos>2)
		  {
		    flag_cmos_visible=1;
		    begin_line=line_i_10+right_line_cmos-1;
		    index_cmos_begin_line_last=index_cmos[begin_line];
		    break;
		  }
		}			
		}
 
		direct_flag=0;
		if(flag_cmos_visible==1)
		{ 
		  //begin_line_flag=0;
		  error_line_cmos=0;line_num_duan=0;
		  //if(infrared_value7>=speed_v_min)line_min=0;
		  //else line_min=6;
		  //line_min=1.5f*abs(index_cmos_last-index_center);
	/*	  if(infrared_value7>190)line_min=0;
		  else if(infrared_value7>180)line_min=10;
		  else if(infrared_value7>170)line_min=20;		  
		  else if(infrared_value7>160)line_min=30;		  
		  else if(infrared_value7>150)line_min=40;
		  else if(infrared_value7>140)line_min=40;
		  else if(infrared_value7>130)line_min=50;
		  else if(infrared_value7>120)line_min=50;
		  else if(infrared_value7>110)line_min=60;
		  else if(infrared_value7>100)line_min=60;		  
*/
		  for(line_i--;line_i>=0;line_i--) 
		  {
		    
		   if(line_i%10==0)
			 { 
		     line_i_10=line_i/10;
			   begin_flag=0;
			   black_num_cmos[line_i_10]=0;
			   for(last_i=1;last_i<=3;last_i++)
			   if(index_cmos_flag[line_i_10+last_i]==1)
			   { 
			    if(index_cmos[line_i_10+last_i]-10<0)row_i_begin=0;
			    else row_i_begin=index_cmos[line_i_10+last_i]-10;
			    if(index_cmos[line_i_10+last_i]+10>ROW_num-1)row_i_end=ROW_num-1;
			    else row_i_end=index_cmos[line_i_10+last_i]+10;
			    break;
			   }
		   if(index_cmos_last<=index_center)
			 {
			  
			  for(row_i=row_i_begin;row_i<=row_i_end;row_i++) 
			  { 									

			    if(ad_video[line_i_10][row_i]<=31)
			    {
#ifdef sci_cmos_select			       
			      if(begin_flag==1) 
			         ad_video[line_i_10][row_i]=0;
#endif
			      if((ad_video[line_i_10][row_i-1]>31 || row_i==row_i_begin) && begin_flag==0)
			      {
#ifdef sci_cmos_select			       
			      ad_video[line_i_10][row_i]=0;
#endif			        
			        index_cmos_begin_temp=row_i;
			        begin_flag=1;
			      }
			      black_num_cmos[line_i_10]++;    
			      if(begin_flag==2)
			      {
			        begin_flag=3;
			        break;
			      }
			    }
			    else if(begin_flag==1)
			    {
			     begin_flag=2;
			     index_cmos_end_temp=row_i-1;
			    }
			  }
			  if(begin_flag==1)index_cmos_end_temp=row_i_end;
			  if((begin_flag==1 || begin_flag==2) && black_num_cmos[line_i_10]<=10) 
			  {
			    index_cmos[line_i_10]=(index_cmos_begin_temp+index_cmos_end_temp)/2;
			    index_cmos_flag[line_i_10]=1;
			  }
			  else index_cmos_flag[line_i_10]=0;	 
		  }
		  else
		  {
		    
		    for(row_i=row_i_end;row_i>=row_i_begin;row_i--) 
			  { 									
			    if(ad_video[line_i_10][row_i]<=31)
			    {
#ifdef sci_cmos_select			       			       
			      if(begin_flag==1)
			         ad_video[line_i_10][row_i]=0;
#endif
			      if((ad_video[line_i_10][row_i+1]>31 || row_i==row_i_end) && begin_flag==0)
			      {
#ifdef sci_cmos_select			       
			      ad_video[line_i_10][row_i]=0;
#endif			        
			        index_cmos_begin_temp=row_i;
			        begin_flag=1;																  
			      }
			      black_num_cmos[line_i_10]++;    
			    if(begin_flag==2)
			      {
			        begin_flag=3;
			        break;
			      }
			    }
			    else if(begin_flag==1)
			    {
			     begin_flag=2;
			     index_cmos_end_temp=row_i+1;
			    }
			  }
			  if(begin_flag==1)index_cmos_end_temp=row_i_begin;
			  if((begin_flag==1 || begin_flag==2) && black_num_cmos[line_i_10]<=10) 
			  {
			    index_cmos[line_i_10]=(index_cmos_begin_temp+index_cmos_end_temp)/2;
			    index_cmos_flag[line_i_10]=1;
			  }
			  else index_cmos_flag[line_i_10]=0;
		  }
		   
		    
		    if(index_cmos_flag[line_i_10]==0 || 
		       abs(index_cmos[line_i_10]-index_cmos[line_i_10+1+error_line_cmos])>2+(black_num_cmos[line_i_10]+black_num_cmos[line_i_10+1+error_line_cmos])/2 ||//5+error_line_cmos/*8*/ || 
		           //(abs(index_cmos[line_i_10]-index_cmos[begin_line])>20 && abs(index_cmos[line_i_10]-index_center)>10) ||		 //??
		               black_num_cmos[line_i_10]>(black_num_cmos[line_i_10+1+error_line_cmos]+5+error_line_cmos)/*8*/ ||
		                 ((index_cmos[line_i_10]-index_cmos[line_i_10+error_line_cmos+1])>0 && direct_flag==1) ||
		                 ((index_cmos[line_i_10]-index_cmos[line_i_10+error_line_cmos+1])<0 && direct_flag==2) //|| 
		                  //black_num_cmos[line_i_10]>black_num_cmos[begin_line]+5
		                  )  
		    {
		      index_cmos_flag[line_i_10]=0;
		      if((abs(index_cmos[line_i_10+1+error_line_cmos]-index_center)>12 && error_line_cmos>=0) || error_line_cmos>=2) /*2*/
		      {
		        error_line_cmos++;
		        break;
		        
		      }
		      else error_line_cmos++;
		    }
		    else 
		    {
		      error_line_cmos=0;
		    }
		  if(index_cmos_flag[line_i_10]!=0 && index_cmos_flag[line_i_10+1]!=0)
		   {
		    if(index_cmos[line_i_10]-index_cmos[line_i_10+1]>0)direct_flag=2;
		    else if(index_cmos[line_i_10]-index_cmos[line_i_10+1]<0)direct_flag=1;
		    else direct_flag=0;
		   }
		  }
		  
		  }
		  line_i_10+=error_line_cmos;
		  //if(line_i<18)line_i+=infrared_value7/10;
		  //if(line_i>begin_line)line_i=begin_line;
		  last_line=line_i_10;
		  for(line_ii=LINE_num/10;line_ii>=begin_line;line_ii--)
		    {
		     if(index_cmos_flag[line_ii]==1 || index_cmos_flag[line_ii]==2)
		     {
		       begin_line_near=line_ii;
		       break;
		     }
		    }
		    //if((abs(index_cmos[line_i_10]-index_cmos[begin_line_near])>20 && abs(index_cmos[line_i_10]-index_center)>10))		 //??
		    if(((float)abs(index_cmos[line_i_10]-index_cmos[begin_line_near])/(float)abs(begin_line_near-line_i_10))>1.5f && abs(index_cmos[last_line]-index_cmos[begin_line])>8 && begin_line<14)		 //??  
		    {
		     flag_cmos_visible=2;
		    }
		    
		  
		  //if(line_i==-1)
		  //{
		  //  index_cmos_last=index_cmos[0];
		      ////PORTB=~0X00;
		  //}
		  //else 
		  //{

		    if(flag_cmos_visible==1)
		    {
		      if((begin_line_flag==0/* && (begin_line-last_line)>3*/) || begin_line-last_line>7)
		    {
		      index_cmos_last=index_cmos[line_i_10];
		      begin_line_flag=0;
		    }
		    //PORTB=~index_cmos_last;
		   /*     
	     k_counter=0;k_angle=0;

	     for(ave_i=LINE_num/10;ave_i>10;ave_i--)
	     if(index_cmos_flag[ave_i]!=0)
	     {
	      k_angle+=abs(index_cmos[ave_i]-index_center);
	      k_counter++;
	     }
		  k_angle+=abs(index_cmos[begin_line]-index_center);
		  k_counter++;
		  k_angle=k_angle/k_counter;
		  if(k_angle<9)
		  {
		   if(infrared_value7>130)
		    k_angle=2;
		   else if(infrared_value7>125)
		    k_angle=3;
		   else if(infrared_value7>120)
		    k_angle=4;
		   else if(infrared_value7>115)
		    k_angle=5;
		   else if(infrared_value7>110)
		    k_angle=6;
		  }
			if(k_angle-k_angle_last>0)k_angle=k_angle_last+1;	
			else if(k_angle-k_angle_last<0)k_angle=k_angle_last-1;
			 
			k_angle_last=k_angle;
     */
      //k_angle=(int)(33.0f-0.20f*(infrared_value7+speed_v)/2.0f);
      ave_temp=(infrared_value7+speed_v)/20;
      if((infrared_value7+speed_v)/20>21)ave_temp=21;
      else if((infrared_value7+speed_v)/20<1)ave_temp=1;
   		k_angle=(int)ave[ave_temp-1];
      //k_angle=2000.0f/((infrared_value7+speed_v)/2.0f)-7;
      /*for(front_i=0;front_i<3;front_i++)
      {
        if(index_cmos_flag[11+front_i]==1)
        break;
      }
      if(abs(index_cmos[last_line]-index_cmos[begin_line])/(begin_line-last_line)>0.8f && abs(index_cmos[last_line]-index_cmos[11+front_i])/(11+front_i-last_line)>1.5f && (index_cmos[last_line]-index_center)*(index_cmos[11+front_i]-index_center)<0)
      {
        k_angle=3;PORTB=0X00;
      }
      else PORTB=0XFF;
      */
      if(k_angle<3)k_angle=3;
      else if(k_angle>21)k_angle=21;
      front_sum=0;front_flag=0;
		  for(front_i=last_line;front_i<k_angle;front_i++)
		  {
		  if(index_cmos_flag[front_i]==1) 
		   {
		   front_sum+=index_cmos[front_i];
		   front_flag++;
		   }
		  }
		   front_sum+=index_cmos[last_line];
		   front_flag+=1;
		   //front_sum+=index_cmos[begin_line];
		   //front_flag++;
		   //index_cmos_last_duoji=index_cmos[last_line+3];
		   index_cmos_last=front_sum/front_flag;
		  
		   }
		  else
		{
		  if((index_cmos_last-index_cmos[begin_line])>0)
		  {
		    index_cmos_last=index_max;
		    //PORTB=0X00;
		    begin_line_flag=1;
		  }
		  else if((index_cmos_last-index_cmos[begin_line])<0)
		  {
		    index_cmos_last=index_min;
		    //PORTB=0X00;		    
		    begin_line_flag=2;
		  }
		}
		  //}
		  //PORTB=~0X00;
		  //if(abs(index_cmos_last-index_cmos_last_last)>(2+infrared_value7/15))index_cmos_last=index_cmos_last_last;//+4;
	    //index_cmos_last_last=index_cmos_last; 
		  /*if(begin_line_flag==1)
		  {
		    index_cmos_last=index_cmos[begin_line];
		    if(begin_line>18 && index_cmos_last>=index_max-5)
		       index_cmos_last=index_cmos_last_last;
		    else begin_line_flag=0; 
		  }
		  else if(begin_line_flag==2)
		  {
		    index_cmos_last=index_cmos[begin_line];
		    if(begin_line>18 && index_cmos_last<=index_min+5)
		       index_cmos_last=index_cmos_last_last;
		    else begin_line_flag=0;
		  }*/
		  
		}
		else 
		{
		  ////PORTB=~0Xff;
		  if(index_cmos_last>index_center)
		  {
		    index_cmos_last=index_max;
		    //PORTB=0X00;
		    begin_line_flag=1;
		  }
		  else if(index_cmos_last<index_center)
		  {
		    index_cmos_last=index_min;
		    //PORTB=0X00;		    
		    begin_line_flag=2;
		  }
		}
	 //PWMDTY01_temp=3000-(int)(9*(index_to_angle[index_cmos_last]*(1+(26-last_line)*0.5f/26.0f)+0.8f*(index_cmos[last_line]-index_cmos[begin_line])));//1.0f*((index_cmos[last_line]-index_center)*2-(index_cmos[begin_line]-index_center))//*(0.5+infrared_value7/58.0f/2.0f);//*(1.0f+cmos_k));
	 	 //if(abs(index_cmos_last-index_center)>10)
	 	 // PWMDTY01_temp=3000-(int)(9*(index_to_angle[index_cmos_last]*(1+(26-last_line)*0.5f/26.0f)+0.5f*(index_cmos[last_line]-index_cmos[begin_line])));//1.0f*((index_cmos[last_line]-index_center)*2-(index_cmos[begin_line]-index_center))//*(0.5+infrared_value7/58.0f/2.0f);//*(1.0f+cmos_k));
	
	if(counter>6)
	{
	 counter=0;
	 index_cmos_last_last=index_cmos_last;
	}
	

	if(begin_line_flag==2)
	    PWMDTY01_temp=3350;/**(1+(26-last_line)*1.0f/26.0f)));//*///+2.6f*((float)(index_cmos[last_line]-index_cmos[begin_line])/(float)(begin_line-last_line))));//1.0f*((index_cmos[last_line]-index_center)*2-(index_cmos[begin_line]-index_center))//*(0.5+infrared_value7/58.0f/2.0f);//*(1.0f+cmos_k));
	else if(begin_line_flag==1)
	  	PWMDTY01_temp=2650;/**(1+(26-last_line)*1.0f/26.0f)));//*///+2.6f*((float)(index_cmos[last_line]-index_cmos[begin_line])/(float)(begin_line-last_line))));//1.0f*((index_cmos[last_line]-index_center)*2-(index_cmos[begin_line]-index_center))//*(0.5+infrared_value7/58.0f/2.0f);//*(1.0f+cmos_k));
  else	
		{
		  if((abs(index_cmos[(last_line+begin_line)/2]-(index_cmos[begin_line]+index_cmos[last_line])/2)<2) && abs(index_cmos[last_line]-index_cmos[begin_line])>3 && abs(index_cmos[last_line]-index_cmos[begin_line])<15
		  && (abs(index_cmos[(2*last_line+begin_line)/3]-(index_cmos[begin_line]+2*index_cmos[last_line])/3)<2)
		  && (abs(index_cmos[(last_line+2*begin_line)/3]-(2*index_cmos[begin_line]+index_cmos[last_line])/3)<2)
		  && (abs(index_cmos[(3*last_line+begin_line)/4]-(index_cmos[begin_line]+3*index_cmos[last_line])/4)<2)
		  && (abs(index_cmos[(last_line+3*begin_line)/4]-(3*index_cmos[begin_line]+index_cmos[last_line])/4)<2))
		  {
		    k=2.5f;//8+abs(index_cmos[last_line]-index_cmos[begin_line]);
		    //PORTB=0X00;
		    //PWMDTY01_temp=3000-(int)(0.41*17*(index_to_angle[index_cmos_last])+3*(index_cmos_last-index_cmos[begin_line]));/**(1+(26-last_line)*1.0f/26.0f)));//*///+2.6f*((float)(index_cmos[last_line]-index_cmos[begin_line])/(float)(begin_line-last_line))));//1.0f*((index_cmos[last_line]-index_center)*2-(index_cmos[begin_line]-index_center))//*(0.5+infrared_value7/58.0f/2.0f);//*(1.0f+cmos_k));
		  }
		  //else if(abs(index_cmos[last_line]-index_cmos[begin_line])/(begin_line-last_line)>1 && (index_cmos[last_line]-index_center)*(index_cmos[begin_line]-index_center)<0)
		  else
		   {
		    k=0.0f;//PORTB=0XFF;
		    //PWMDTY01_temp=3000-(int)(0.41*17*(index_to_angle[index_cmos_last])+0*(index_cmos_last-index_cmos[begin_line]));/**(1+(26-last_line)*1.0f/26.0f)));//*///+2.6f*((float)(index_cmos[last_line]-index_cmos[begin_line])/(float)(begin_line-last_line))));//1.0f*((index_cmos[last_line]-index_center)*2-(index_cmos[begin_line]-index_center))//*(0.5+infrared_value7/58.0f/2.0f);//*(1.0f+cmos_k));
		   }
		 //PWMDTY01_temp=3000+(int)((index_to_angle[index_cmos_last])/*+k*(index_cmos_last-index_cmos[begin_line])*/);/**(0.7+(last_line)*1.0f/26.0f)));//*///+2.6f*((float)(index_cmos[last_line]-index_cmos[begin_line])/(float)(begin_line-last_line))));//1.0f*((index_cmos[last_line]-index_center)*2-(index_cmos[begin_line]-index_center))//*(0.5+infrared_value7/58.0f/2.0f);//*(1.0f+cmos_k));
			//if(abs(index_cmos_last-index_center)<10)
			  //if(last_line<10)
			  //PWMDTY01_temp=3000-(int)(index_to_angle[index_cmos_last]*(0.7f+(last_line)*0.7f/21.0f)+k*3.0f*(index_cmos_last-index_cmos[begin_line]));
			  //else 	PWMDTY01_temp=3000-(int)(index_to_angle[index_cmos_last]*(0.5f+(last_line)*2.0f/21.0f)+k*3.0f*(index_cmos_last-index_cmos[begin_line]));
				//if(last_line<=15)
			 	  PWMDTY01_temp=3000-(int)(240.0f/14.0f*(index_cmos_last-index_center)*(0.70f+(last_line)*0.40f/21.0f)+k*3.0f*(index_cmos_last-index_cmos[begin_line])/*+k*(index_cmos_last-index_cmos[begin_line])*/);/**(1+(26-last_line)*1.0f/26.0f)));//*///+2.6f*((float)(index_cmos[last_line]-index_cmos[begin_line])/(float)(begin_line-last_line))));//1.0f*((index_cmos[last_line]-index_center)*2-(index_cmos[begin_line]-index_center))//*(0.5+infrared_value7/58.0f/2.0f);//*(1.0f+cmos_k));
			  //else  			 
			  //	PWMDTY01_temp=3000-(int)(250.0f/14.0f*(index_cmos_last-index_center)*(0.75f+(last_line)*2.40f/21.0f)+k*3.0f*(index_cmos_last-index_cmos[begin_line])/*+k*(index_cmos_last-index_cmos[begin_line])*/);/**(1+(26-last_line)*1.0f/26.0f)));//*///+2.6f*((float)(index_cmos[last_line]-index_cmos[begin_line])/(float)(begin_line-last_line))));//1.0f*((index_cmos[last_line]-index_center)*2-(index_cmos[begin_line]-index_center))//*(0.5+infrared_value7/58.0f/2.0f);//*(1.0f+cmos_k));

			 ////PWMDTY01_temp=3000-(int)(220.0f/14.0f*(index_cmos_last-index_center)*0.6f+k*3.0f*(index_cmos_last-index_cmos[begin_line])/*+k*(index_cmos_last-index_cmos[begin_line])*/);/**(1+(26-last_line)*1.0f/26.0f)));//*///+2.6f*((float)(index_cmos[last_line]-index_cmos[begin_line])/(float)(begin_line-last_line))));//1.0f*((index_cmos[last_line]-index_center)*2-(index_cmos[begin_line]-index_center))//*(0.5+infrared_value7/58.0f/2.0f);//*(1.0f+cmos_k));

			//else 																																					
			 //PWMDTY01_temp=3000-(int)(240.0f/14.0f*(index_cmos_last-index_center)+k*3.0f*(index_cmos_last-index_cmos[begin_line])/*+k*(index_cmos_last-index_cmos[begin_line])*/);/**(1+(26-last_line)*1.0f/26.0f)));//*///+2.6f*((float)(index_cmos[last_line]-index_cmos[begin_line])/(float)(begin_line-last_line))));//1.0f*((index_cmos[last_line]-index_center)*2-(index_cmos[begin_line]-index_center))//*(0.5+infrared_value7/58.0f/2.0f);//*(1.0f+cmos_k));
									 
 
		}
 
		 //else PWMDTY01_temp=3000-(int)(9*(index_to_angle[index_cmos_last]));
   if(PWMDTY01_temp<2750)PWMDTY01_temp+=10;																	 
   else if(PWMDTY01_temp>3250)PWMDTY01_temp-=10;

   PWMDTY01=PWMDTY01_temp-shift_angle;

     //  PWMDTY01=3000+shift_angle;
  }
 	else if(line_counter>LINE_invalid_num)	      //LINE_invalid_num为场前消隐行数,加1防错
 	{      
 	  row_num_temp=0; 
 	  line_counter_valid=line_counter-LINE_invalid_num-1;  
 	  if(line_counter_valid%10==0)
 	  { 
 	    MDC_u(6);
 	  //MCCTL=(MCCTL_MCZI_MASK|MCCTL_MCEN_MASK); //开定时器,中断使能
    //MCCNT=7.1f*BUS_CLK;                      //write to MCCNT会清中断标志

 	    line_counter_temp=line_counter_valid/10;  
 	  }
 	   else if(line_counter_valid<60)
 	  {
 	   MDC_u(6);
 	   line_counter_temp=LINE_num/10+line_counter_valid;
 	  }
#ifdef  ccd_time_test 	        						 
 	        PORTB=100-MCCNT/24;
 	        mcnt=MCCNT;
 	        MDC_u(100);
	        ATD1CTL2&=~ATD1CTL2_ASCIE_MASK;   //开启ATD中断使能
          ATD0CTL2 |= ATD0CTL2_ASCIE_MASK;
          ATD0CTL5  = (ATD0CTL5_DJM_MASK|ATD0CTL5_SCAN_MASK);
#endif 	         	       
 	}
  EnableInterrupts;  		    
}

void interrupt ATD0_ISR(void) //对摄像头采集数据的点的处理,每次转换一个点
{
    DisableInterrupts;
    if(row_num_temp>=ROW_num)
    {  
    ATD0CTL2&=~ATD0CTL2_ASCIE_MASK;
    ATD1CTL2|= ATD1CTL2_ASCIE_MASK;   //开启ATD1中断使能
    ATD1CTL5 = (ATD1CTL5_DJM_MASK|ATD1CTL5_SCAN_MASK|ATD1CTL5_CC_MASK|ATD1CTL5_CB_MASK|ATD1CTL5_CA_MASK);//|ATD1CTL5_MULT_MASK);//|ATD1CTL5_CB_MASK);  // 右对齐,连续多路转换
    return;
    }
    ad_video[line_counter_temp][row_num_temp++]=ATD0DR0;
    EnableInterrupts;
}

void interrupt ATD1_ISR(void) //对测速传感器采集的模拟量进行转换
{       
   DisableInterrupts; 
   infrared_value7 = ATD1DR0;             //读取AD1转换口通道7的数据,该通道为速度传感器的模拟量
#ifdef sci_infrared_select 
   print_uchar(infrared_value7);
   print_string("\r\n");
#endif
   ATD1CTL2&=~ATD1CTL2_ASCIE_MASK;
   EnableInterrupts;
}          

void interrupt MDC_ISR(void)  //定时器,定时结束后进入该中断,开启ATD0、1通道,进行转换
{
     DisableInterrupts;
     MCFLG_MCZF=1; //清标志位
     MCCTL=0x00;
#ifndef  ccd_time_test
     ATD1CTL2&=~ATD1CTL2_ASCIE_MASK;   //开启ATD中断使能
     ATD0CTL2 |= ATD0CTL2_ASCIE_MASK;
     ATD0CTL5  = (ATD0CTL5_DJM_MASK|ATD0CTL5_SCAN_MASK);
#endif
     EnableInterrupts;    
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -