智能车制作

标题: xs1280ov7620摄像头行中断场中断用H口看看我的程序哪里有问题,调了一天了,返回值... [打印本页]

作者: T_T蜡笔小新    时间: 2016-1-16 23:37
标题: xs1280ov7620摄像头行中断场中断用H口看看我的程序哪里有问题,调了一天了,返回值...
用T口没问题。主要出问题的就是红色的 麻烦大神帮忙看一下,感激不尽。PH0行中断,PH1场中断/*************************************************************//*                      行场中断初始化函数                   */
/*************************************************************/
void init_PH(void)
{                         //                                            若PH31
     PPSH = 0x01;                      //PTH0上升沿触发中断,PTH1下降沿触发中断 0010        1000 0x08

     //PPSH = 0x02;           //PTH1上升沿触发中断,PTH0下降沿触发中断 0010
     PIFH = 0xff;                                        //对PIFH的每一位写1来清除标志位;
     PIEH = 0x03;                      //中断使能寄存器;
     DDRH = 0x00;         //输入}
/*************************************************************/
/*                        行中断处理函数                     */
/*************************************************************/

#pragma CODE_SEG __NEAR_SEG NON_BANKED

void interrupt 8    PH0_Interrupt(){

   PIFH=0x01;
  Line++;         //行中断计数变量

   if ( SampleFlag == 0 || Line<ROW_START || Line>ROW_MAX ){
      return;     //不是要采集图像的有效行,返回                              
    }

  if( Line==Get_Image[hang]){

    delays(8);//如果图像不在中间请修改这里....}

/*************************************************************/
/*                        场中断处理函数                     */
/*************************************************************/

#pragma CODE_SEG __NEAR_SEG NON_BANKED
void interrupt 9 PT1_Interrupt()

{     

             PIFH=0x03;


             m=0;                      //行中间变量清零,以便于开始从把采集的图像放到数组的第一行
             Line=0;                   //行中断临时变量清零
             hang=0;                   //行临时变量清除
             SampleFlag=~SampleFlag;   //场中断标记取反,这样只采集奇数场的图像

}





作者: T_T蜡笔小新    时间: 2016-1-16 23:37
麻烦大家帮忙看下 根本不知道哪里有问题




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