智能车制作

标题: 求大神指教中断为什么进不去 [打印本页]

作者: 飞123    时间: 2013-4-14 16:23
标题: 求大神指教中断为什么进不去
void EXTI_ini(void)
{
MCF_GPIO_PNQPAR = MCF_GPIO_PNQPAR_IRQ3_IRQ3//配置引脚功能,3、5为IRQ功能
         |MCF_GPIO_PNQPAR_IRQ5_IRQ5;      
MCF_EPORT_EPPAR = MCF_EPORT_EPPAR_EPPA3_RISING//配置为捕捉上升沿
      |MCF_EPORT_EPPAR_EPPA5_RISING;
MCF_EPORT_EPDDR =(uint8)~MCF_EPORT_EPDDR_EPDD3//配置输出输入
      &~MCF_EPORT_EPDDR_EPDD5;
MCF_EPORT_EPIER = MCF_EPORT_EPIER_EPIE3; //开3中断
// MCF_EPORT_EPIER |=MCF_EPORT_EPIER_EPIE5;//开5中断
MCF_EPORT_EPIER&=~MCF_EPORT_EPIER_EPIE5;//关5中断
MCF_INTC0_IMRL&=~MCF_INTC_IMRL_MASKALL;//中断使能
MCF_INTC0_IMRL&=~MCF_INTC_IMRL_INT_MASK3 //EPORT interrupt source 3
       &~MCF_INTC_IMRL_INT_MASK5; //EPORT interrupt source 5     
//MCF_INTC0_ICR03=MCF_INTC_ICR_IP(2)+MCF_INTC_ICR_IL(3);
//MCF_INTC0_ICR05=MCF_INTC_ICR_IP(3)+MCF_INTC_ICR_IL(3);
MCF_INTC0_ICR03=MCF_INTC_ICR_IL(5);
MCF_INTC0_ICR05=MCF_INTC_ICR_IL(5);
}


//行中断处理
__declspec(interrupt) void EPORT_irq3_handler(void)//行中断
{
unsigned int  n=0;
   MCF_EPORT_EPFR|=MCF_EPORT_EPFR_EPF3;//行中断标志位清除,以便于下次行中断进行
   Line++;         //行中断计数变量
   if ( SampleFlag == 0 || Line<ROW_START || Line>ROW_MAX )
   {
      return;     //不是要采集图像的有效行,返回                              
    }
   
       if( Line==Get_Image[hang])
  {
     
     
     Buffer[m][0]=MCF_GPIO_PORTAN;__asm();Buffer[m][1]=MCF_GPIO_PORTAN;__asm();Buffer[m][2]=MCF_GPIO_PORTAN;__asm();Buffer[m][3]=MCF_GPIO_PORTAN;__asm();Buffer[m][4]=MCF_GPIO_PORTAN;__asm();
        Buffer[m][5]=MCF_GPIO_PORTAN;__asm();Buffer[m][6]=MCF_GPIO_PORTAN;__asm();Buffer[m][7]=MCF_GPIO_PORTAN;__asm();Buffer[m][8]=MCF_GPIO_PORTAN;__asm();Buffer[m][9]=MCF_GPIO_PORTAN;__asm();
        Buffer[m][10]=MCF_GPIO_PORTAN;__asm();Buffer[m][11]=MCF_GPIO_PORTAN;__asm();Buffer[m][12]=MCF_GPIO_PORTAN;__asm();Buffer[m][13]=MCF_GPIO_PORTAN;__asm();Buffer[m][14]=MCF_GPIO_PORTAN;__asm();
        Buffer[m][15]=MCF_GPIO_PORTAN;__asm();Buffer[m][16]=MCF_GPIO_PORTAN;__asm();Buffer[m][17]=MCF_GPIO_PORTAN;__asm();Buffer[m][18]=MCF_GPIO_PORTAN;__asm();Buffer[m][19]=MCF_GPIO_PORTAN;__asm();
        Buffer[m][20]=MCF_GPIO_PORTAN;__asm();Buffer[m][21]=MCF_GPIO_PORTAN;__asm();Buffer[m][22]=MCF_GPIO_PORTAN;__asm();Buffer[m][23]=MCF_GPIO_PORTAN;__asm();Buffer[m][24]=MCF_GPIO_PORTAN;__asm();
        Buffer[m][25]=MCF_GPIO_PORTAN;__asm();Buffer[m][26]=MCF_GPIO_PORTAN;__asm();Buffer[m][27]=MCF_GPIO_PORTAN;__asm();Buffer[m][28]=MCF_GPIO_PORTAN;__asm();Buffer[m][29]=MCF_GPIO_PORTAN;__asm();
        Buffer[m][30]=MCF_GPIO_PORTAN;__asm();Buffer[m][31]=MCF_GPIO_PORTAN;__asm();Buffer[m][32]=MCF_GPIO_PORTAN;__asm();Buffer[m][33]=MCF_GPIO_PORTAN;__asm();Buffer[m][34]=MCF_GPIO_PORTAN;__asm();
        Buffer[m][35]=MCF_GPIO_PORTAN;__asm();Buffer[m][36]=MCF_GPIO_PORTAN;__asm();Buffer[m][37]=MCF_GPIO_PORTAN;__asm();Buffer[m][38]=MCF_GPIO_PORTAN;__asm();Buffer[m][39]=MCF_GPIO_PORTAN;__asm();
        Buffer[m][40]=MCF_GPIO_PORTAN;__asm();Buffer[m][41]=MCF_GPIO_PORTAN;__asm();Buffer[m][42]=MCF_GPIO_PORTAN;__asm();Buffer[m][43]=MCF_GPIO_PORTAN;__asm();Buffer[m][44]=MCF_GPIO_PORTAN;__asm();
        Buffer[m][45]=MCF_GPIO_PORTAN;__asm();Buffer[m][46]=MCF_GPIO_PORTAN;__asm();Buffer[m][47]=MCF_GPIO_PORTAN;__asm();Buffer[m][48]=MCF_GPIO_PORTAN;__asm();Buffer[m][49]=MCF_GPIO_PORTAN;__asm();
        Buffer[m][50]=MCF_GPIO_PORTAN;__asm();Buffer[m][51]=MCF_GPIO_PORTAN;__asm();Buffer[m][52]=MCF_GPIO_PORTAN;__asm();Buffer[m][53]=MCF_GPIO_PORTAN;__asm();Buffer[m][54]=MCF_GPIO_PORTAN;__asm();
        Buffer[m][55]=MCF_GPIO_PORTAN;__asm();Buffer[m][56]=MCF_GPIO_PORTAN;__asm();Buffer[m][57]=MCF_GPIO_PORTAN;__asm();Buffer[m][58]=MCF_GPIO_PORTAN;__asm();Buffer[m][59]=MCF_GPIO_PORTAN;__asm();
        Buffer[m][60]=MCF_GPIO_PORTAN;__asm();Buffer[m][61]=MCF_GPIO_PORTAN;__asm();Buffer[m][62]=MCF_GPIO_PORTAN;__asm();Buffer[m][63]=MCF_GPIO_PORTAN;__asm();Buffer[m][64]=MCF_GPIO_PORTAN;__asm();
        Buffer[m][65]=MCF_GPIO_PORTAN;__asm();Buffer[m][66]=MCF_GPIO_PORTAN;__asm();Buffer[m][67]=MCF_GPIO_PORTAN;__asm();Buffer[m][68]=MCF_GPIO_PORTAN;__asm();Buffer[m][69]=MCF_GPIO_PORTAN;__asm();
        Buffer[m][70]=MCF_GPIO_PORTAN;__asm();Buffer[m][71]=MCF_GPIO_PORTAN;__asm();Buffer[m][72]=MCF_GPIO_PORTAN;__asm();Buffer[m][73]=MCF_GPIO_PORTAN;__asm();Buffer[m][74]=MCF_GPIO_PORTAN;__asm();
        Buffer[m][75]=MCF_GPIO_PORTAN;__asm();Buffer[m][76]=MCF_GPIO_PORTAN;__asm();Buffer[m][77]=MCF_GPIO_PORTAN;__asm();Buffer[m][78]=MCF_GPIO_PORTAN;__asm();Buffer[m][79]=MCF_GPIO_PORTAN;__asm();
        Buffer[m][80]=MCF_GPIO_PORTAN;__asm();Buffer[m][81]=MCF_GPIO_PORTAN;__asm();Buffer[m][82]=MCF_GPIO_PORTAN;__asm();Buffer[m][83]=MCF_GPIO_PORTAN;__asm();Buffer[m][84]=MCF_GPIO_PORTAN;__asm();
        Buffer[m][85]=MCF_GPIO_PORTAN;__asm();Buffer[m][86]=MCF_GPIO_PORTAN;__asm();Buffer[m][87]=MCF_GPIO_PORTAN;__asm();Buffer[m][88]=MCF_GPIO_PORTAN;__asm();Buffer[m][89]=MCF_GPIO_PORTAN;__asm();
        Buffer[m][90]=MCF_GPIO_PORTAN;__asm();Buffer[m][91]=MCF_GPIO_PORTAN;__asm();Buffer[m][92]=MCF_GPIO_PORTAN;__asm();Buffer[m][93]=MCF_GPIO_PORTAN;__asm();Buffer[m][94]=MCF_GPIO_PORTAN;__asm();
        Buffer[m][95]=MCF_GPIO_PORTAN;__asm();Buffer[m][96]=MCF_GPIO_PORTAN;__asm();Buffer[m][97]=MCF_GPIO_PORTAN;__asm();Buffer[m][98]=MCF_GPIO_PORTAN;__asm();Buffer[m][99]=MCF_GPIO_PORTAN;__asm();
        Buffer[m][100]=MCF_GPIO_PORTAN;__asm();Buffer[m][101]=MCF_GPIO_PORTAN;__asm();Buffer[m][102]=MCF_GPIO_PORTAN;__asm();Buffer[m][103]=MCF_GPIO_PORTAN;__asm();Buffer[m][104]=MCF_GPIO_PORTAN;__asm();
        Buffer[m][105]=MCF_GPIO_PORTAN;__asm();Buffer[m][106]=MCF_GPIO_PORTAN;__asm();Buffer[m][107]=MCF_GPIO_PORTAN;__asm();Buffer[m][108]=MCF_GPIO_PORTAN;__asm();Buffer[m][109]=MCF_GPIO_PORTAN;__asm();
        Buffer[m][110]=MCF_GPIO_PORTAN;__asm();Buffer[m][111]=MCF_GPIO_PORTAN;__asm();Buffer[m][112]=MCF_GPIO_PORTAN;__asm();Buffer[m][113]=MCF_GPIO_PORTAN;__asm();Buffer[m][114]=MCF_GPIO_PORTAN;__asm();
        Buffer[m][115]=MCF_GPIO_PORTAN;__asm();Buffer[m][116]=MCF_GPIO_PORTAN;__asm();Buffer[m][117]=MCF_GPIO_PORTAN;__asm();Buffer[m][118]=MCF_GPIO_PORTAN;__asm();Buffer[m][119]=MCF_GPIO_PORTAN;

   
        
  
   }
hang++;               
   m++;
}


/*************************************************************/
/*                        场中断处理函数                     */
/*************************************************************/
__declspec(interrupt) void EPORT_irq1_handler(void)//场中断
{
   MCF_PWM_PWMDTY(0)=0;
             MCF_EPORT_EPFR|=MCF_EPORT_EPFR_EPF1;              //场中断清楚,以便于下次的场中断的正常进行
             MCF_EPORT_EPFR|=MCF_EPORT_EPFR_EPF3;              //行中断清除,以便于开始采集图像数据
            
             m=0;                      //行中间变量清零,以便于开始从把采集的图像放到数组的第一行
             Line=0;                   //行中断临时变量清零
             hang=0;                   //行临时变量清除
            // SampleFlag=~SampleFlag;   //场中断标记取反,这样只采集奇数场的图像
            MCF_EPORT_EPIER |=MCF_EPORT_EPIER_EPIE3;
}

作者: 黄美纯    时间: 2013-4-30 18:21
中断向量表没改




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