miaomiao2935 发表于 2011-12-20 11:07:19

2440的ADS capture问题

请教版主和各位一个问题:我现在在用ADS编写2440的裸奔程序,要循环不断的进行9650的preview和capture,capture一副图之后再进行处理,我现在是这样循环的
while(1)
{
image_get();
image_pro();
}
image_get();就是获得图像的数组再到image_pro();里处理。
我看了ADS里start capture的那一段,具体的capture流程我也不是很清楚,我现在是把这一段直接放到了
image_get();里面,所以我的
image_get();是这样的:
// Start Capture
rSUBSRCPND |= BIT_SUB_CAM_P;
ClearPending(BIT_CAM);
pISR_CAM = (U32)CamIsr;   
CamPreviewIntUnmask();
CamCaptureStart(CAM_PVIEW_SCALER_CAPTURE_ENABLE_BIT);
//Uart_Printf("Press 'ESC' key to exit!\n");
while (1)
{
    if (flagCaptured_P)
{
   flagCaptured_P = 0;
   break;
//   Uart_Printf("Enter Cam A port, count = %d\n",camCodecCaptureCount);
}   
}
   
CamCaptureStop();
但是这样发现我的程序一直没有跳出while的循环,应该就是没有进入中断,麻烦各位帮我看看问题在哪里,我要用的是p通道640*480,还有能不能告诉我一下摄像头capture的具体流程是怎么样的。

亚瑟王 发表于 2011-12-20 14:13:08

亲,不清楚你说的哪个while。你检查一下你设置的camera的中断是否设置正确了。如果那个地方设置正确了,那么应该会进入中断的。
对了,如果你的程序都是rgb的数据,完全可以抛弃掉C通道。如果你的程序里面同时要用到rgb和yuv两种格式时,才需要C通道的。一般用C通道获取yuv格式的数据,P通道获取RGB的数据。然后以P通道为常用的。C通道为临时使用的。也就是一直预览,然后要抓图时才变成C通道抓图。
页: [1]
查看完整版本: 2440的ADS capture问题