注册 登录
查看: 313|回复: 1

[摄像头组] kl26中断问题

[复制链接]
发表于 2014-7-10 15:21:05 | 显示全部楼层 |阅读模式
我用的ov7620摄像头,只能进入行中断,场中断一直进不去结果图像一直全黑,怎么回事呢???代码如下:

void main()
{
   
   
DisableInterrupts;         //禁止总中断
uart_init (UART_PORT, 115200);
dma_portx2buff_init(DMA_CH0, (void *)&PTE_B2_IN, (void *)ImageBuf[rowCnt], PTA7,
DMA_BYTE1, );
DMA_DIS(DMA_CH0);
DMA_IRQ_DIS(DMA_CH0);
disable_irq(PORTA_IRQn);                       
port_init(PTA7, ALT1 | DMA_FALLING | PULLDOWN );        
port_init(PTA6, ALT1 | IRQ_RISING  | PULLDOWN | PF);     
port_init(PTA5, ALT1 | IRQ_RISING  | PULLDOWN | PF);
for(i=0; i<45; i++)
        {
              for(j=0;j<320 ;j++)
              {
                     
                         ImageBuf[j]=0;
                          
              }
       }
set_vector_handler(PORTA_VECTORn ,PORTA_IRQHandler);   
set_vector_handler(DMA0_VECTORn ,DMA0_IRQHandler);   
enable_irq(PORTA_IRQn);  
EnableInterrupts;//中断允许
while(1)
   {
     
      
   }
}
  

void PORTA_IRQHandler()
{
   if( PORTA_ISFR& (1 << 5))         //PTB23触发中断
    {
      
        PORTA_ISFR  =~0;// (1 << 23);        //1清中断标志位      
        dma_repeat(DMA_CH0, (void *)&PTE_B2_IN, (void *)ImageBuf[rowCnt],320);
        DMA_IRQ_EN(DMA_CH0);
        rowCnt++;
        if(rowCnt==ROW)
        {  
          rowCnt = 0;
          DMA_DIS(DMA_CH0);
          z=0;
          send=1;
         
        }
        
    }
     //---VSYN场中断处理
if(PORTA_ISFR& (1 << 6))         
    {
     
        PORTA_ISFR =~0;              
owCnt = 0;
        SampleFlag = 1;
        z=0;
      
}

void DMA0_IRQHandler()
{
    DMA_IRQ_CLEAN(DMA_CH0);                           
    DMA_IRQ_DIS(DMA_CH0);
}

是哪里出现问题了呢???

回复

使用道具 举报

发表于 2014-7-10 22:00:45 | 显示全部楼层
场中断进不去,你用简单的例程,测一下 能不能正常触发场中断
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回列表 返回顶部