您的位置: OpenADSP社区论坛 -> Blackfin专区 -> 新手上路 -> BF533_CMOS_CAMERA中关于DMA中断的程序问题... 
本帖共有472个阅读者
发表帖子 发表投票 回复主题
BF533_CMOS_CAMERA中关于DMA中断的程序问题
mx125211(论坛新手)
mx125211
头衔:社区公民
帮派:无帮无派
帖数:28
金钱:336
积分:38
注册时间:2015/1/31
楼主信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
BF533_CMOS_CAMERA中关于DMA中断的程序问题
int img_count = 0;

EX_INTERRUPT_HANDLER(DMA0_PPI_ISR)
{
*pDMA0_IRQ_STATUS = 0x1;  //如果DMA中断后,清除DMA中断标志位
img_count++;
if(img_count<10)
{
  Video_Frame_Capture();
}
else
{
img_count = 0;          
*pPPI_CONTROL &= 0xfffe;  //PPI 失能
*pSIC_IMASK = 0x00000000; //清除中断标志  

Init(); //来自于文件 cap_image_yuv.c
//YUY2 TO RGB    cap_image_yuv.c文件中
ConvertYUY2toRGB24(rgbdata_buffer,yuvdata_buffer, 640,480);
//大小转换 为了适应屏幕  函数在上面
size_convert(rgbdata_buffer,DisplayBuffer);

/*内存数据转换,将 DisplayBuffer 数组中的 RGB888 格式数据转为 RGB565 格式,存在 DisplayBuffer_565 中,数据转换大
小为 391680 字节,为了显示到液晶屏中*/
RGB888_RGB565(DisplayBuffer, 391680,DisplayBuffer_565);
///////////////////////////////////////////
*pPPI_CONTROL = 0;
*pDMA0_CONFIG = 0;//PPI DMA 失能
///////////////////////////////////////////

///////////////////////////////////////////
//下面是为了液晶屏的配置
InitDMA();
    InitPPI();
    InitTimer();
PPI_TMR_DMA_Enable();
LCD_Enable();            //CPLD液晶屏使能
Init_Timers0(1999);      //1~1999 控制背光亮度
Enable_Timers0();        //定时器打开
LCDBK_Enable();          //CPLD中选通背光
///////////////////////////////////////////
*pSIC_IMASK = 0x00080000;//DMA中断使能,这样就可以等待下一次按键中断带来的DMA中断
}
    
}

-----------------------------------------------------------------------------------------------------------------------

这个函数中
if(img_count<10)
{
Video_Frame_Capture();
}
else........

为什么需要这个语句,有什么用呢?

我去掉了这个if语句之后,直接初始化  Video_Frame_Capture();点击屏幕的时候照片就不更新了。。
但是我把10改成2或者4,5,6,7什么的就马上可以了。好奇怪



「该帖子被 mx125211 在 2015-08-07 11:02:57 编辑过」

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2015/8/6 18:07:57
尊贵身份标志
andy(论坛版主)
andy
头衔:社区公民
帮派:无帮无派
帖数:2287
金钱:11132
积分:2263
注册时间:2011/6/8
1信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
摄像头在初始化完成后,会有个图像自动对焦的过程,前面几张图像颜色会不正确,或者太白,或者太黑。所以取10张以后的图像,至于不更新,可能配置完后摄像头还没有来得及更新输出的图像数据。

这家伙很懒,什么也没有留下!
等级:论坛版主 参考IP地址:*.*.*.*
2015/8/8 11:00:47
mx125211(论坛新手)
mx125211
头衔:社区公民
帮派:无帮无派
帖数:28
金钱:336
积分:38
注册时间:2015/1/31
2信息 | 留言 | Email | 主页 | 编辑 | 管理 | 离线
恩恩,受教了。

这家伙很懒,什么也没有留下!
等级:论坛新手 参考IP地址:*.*.*.*
2015/8/10 8:52:41
Powered by OpenADSP Copyright © 2010 www.Openadsp.com. All rights reserved.154634 Call, 1 Queries, Processed in 0.016602 second(s),