天嵌 ARM开发社区

 找回密码
 注册
查看: 2515|回复: 2

tq2440之读cmos摄像头缓存的问题

[复制链接]
lllinux 发表于 2010-12-11 20:17:03 | 显示全部楼层 |阅读模式
DWORD CIS_Read(DWORD hOpenContext, LPVOID pBuffer, DWORD Count)
{
        RETAILMSG(1,(TEXT("CAMERA: CIS_Read\r\n")));
        return TRUE;
}
上面这段代码取自天嵌光盘带的cmos摄像头驱动——“TQ2440\Src\Drivers\cameracamera.cpp”。
以我的理解这没有实现读摄像头缓存的功能,而且总返回TRUE。
我想这也是我采集并保存下来的图片总是全黑的原因。
不知我的理解对不?
要是想用ReadFile()读cmos摄像头就得自己添加上面这个CIS_Read()函数了呗?
望前辈们指点!
 楼主| lllinux 发表于 2010-12-12 22:37:19 | 显示全部楼层
修改了摄像头驱动camera.cpp中的CIS_Read()函数后,得重新生成NK.bin吧?
 楼主| lllinux 发表于 2010-12-13 13:10:55 | 显示全部楼层
哦了!
共享部分代码:
// for RGB
void Copy_Cam_Image_RGB(U8 *pBufOut, U32 Count)
{
        U8 *pImage,*buffer_rgb;
        pImage = pBufOut;
        int temp;
        U32 RGB_size = Count;

        temp = (s2440CAM->CIPRSTATUS>>26)&3;
        temp = (temp + 2) % 4;

        RETAILMSG(MSG_EN_2,(_T("preview index = %d, size %d\r\n"), temp, image_size));

        switch (temp)
        {
        case 0:
                buffer_rgb = (U8 *)s2440CAM->CIPRCLRSA1;
                break;
        case 1:
                buffer_rgb = (U8 *)s2440CAM->CIPRCLRSA2;
                break;
        case 2:
                buffer_rgb = (U8 *)s2440CAM->CIPRCLRSA3;
                break;
        case 3:
                buffer_rgb = (U8 *)s2440CAM->CIPRCLRSA4;
                break;
        default :
                buffer_rgb = (U8 *)s2440CAM->CIPRCLRSA1;
                break;
        }

        RETAILMSG(MSG_EN_1,(_T("buffer_rgb[PHY] = 0x%x\r\n"), buffer_rgb));
        buffer_rgb += VIRTUAL_ADDR_OFFSET;   

        RETAILMSG(MSG_EN_1,(_T("buffer_rgb = 0x%x\r\n"), buffer_rgb));
        memcpy(pImage, buffer_rgb, RGB_size);
}

DWORD CIS_Read(DWORD hOpenContext, LPVOID pBuffer, DWORD Count)
{
        RETAILMSG(1,(TEXT("CAMERA: CIS_Read\r\n")));

        if (frame_count <= 0) {
                RETAILMSG(1,(TEXT("CAMERA:CAM_IOCTL_GET_LATEST_FRAME - frame not available!!!\r\n")));
                return FALSE;
        }
        Copy_Cam_Image_RGB((U8 *)pBuffer, Count);

        return TRUE;
}
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

i.MX8系列ARM cortex A53 M4 工控板上一条 /1 下一条

Archiver|手机版|小黑屋|天嵌 嵌入式开发社区 ( 粤ICP备11094220号 )

GMT+8, 2024-5-17 02:35 , Processed in 1.046875 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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