注册 登录
查看: 250|回复: 0

[鹰眼] 程序卡在等待采集完毕处……

[复制链接]
发表于 2014-7-11 15:43:12 | 显示全部楼层 |阅读模式
用给的例程可以,但我把main函数改成read函数,在总的主函数调用。
uint8 imgbuff[CAMERA_SIZE];                             //定义存储接收图像的数组
uint8 img[CAMERA_W*CAMERA_H];
Site_t site     = {0, 0};                           //显示图像左上角位置
Size_t imgsize  = {CAMERA_W, CAMERA_H};             //图像大小
Size_t size;                   //显示区域图像大小

void  read(void)  
{
    LCD_init();
    size.H = LCD_H;
    size.W = LCD_W;
    camera_init(imgbuff);
    //配置中断复位函数

        camera_get_img();                                   //摄像头获取图像

#if     ( CAMERA_COLOR == 1 )                                       //灰度摄像头
        LCD_Img_gray_Z       (site, size, imgbuff, imgsize);
#elif   ( CAMERA_COLOR == 0 )                                       //黑白摄像头
        LCD_Img_Binary_Z(site, size, imgbuff, imgsize);
#endif

#if 0
        img_extract(img, imgbuff, CAMERA_SIZE);          //解压为灰度图像,方便发送到上位机显         
#endif
}

为什么程序卡在这?
void ov7725_eagle_get_img()
{
    ov7725_eagle_img_flag = IMG_START;                   //开始采集图像
    PORTA_ISFR = ~0;                        //写1清中断标志位(必须的,不然回导致一开中断就马上触发中断)
    enable_irq(PORTA_IRQn);                         //允许PTA的中断
    while(ov7725_eagle_img_flag != IMG_FINISH)           //等待图像采集完毕
    {
        if(ov7725_eagle_img_flag == IMG_FAIL)            //假如图像采集错误,则重新开始采集

        {
            ov7725_eagle_img_flag = IMG_START;           //开始采集图像
            PORTA_ISFR = ~0;                //写1清中断标志位(必须的,不然回导致一开中断就马上触发中断)
            enable_irq(PORTA_IRQn);                 //允许PTA的中断
        }
    }
}

怎么没有进入PTA场中断啊?
回复

使用道具 举报

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

本版积分规则

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