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