5905|14

1

帖子

0

TA的资源

一粒金砂(初级)

楼主
 

WINCE 5.0 摄像头驱动(PXA270) [复制链接]

各位英雄:
    小弟的开发环境:PXA270+WINCE5.0,摄像头为OV9650,现在要开发驱动及测试应用程序。手上的驱动源码是ADCM2650的,而且貌似支持DirectShow,因为导出函数有:

    CAM_Init
    CAM_Deinit
    CAM_Open
    CAM_Close
    CAM_IOControl
    PIN_Init
    PIN_Deinit
    PIN_Open
    PIN_Close
    PIN_IOControl

注册表也有下列代码:
[HKEY_LOCAL_MACHINE\Drivers\BuiltIn\Camera]
  "Prefix"="CAM"
  "Dll"="camera_mainstoneii.dll"
  "IClass"=multi_sz:"{CB998A05-122C-4166-846A-933E4D7E3C86}","{A32942B7-920C-486b-B0E6-92A702A99B35}"

[HKEY_LOCAL_MACHINE\Software\Microsoft\DirectX\DirectShow\Capture]
  "Prefix"="PIN"
  "Dll"="camera_mainstoneii.dll"
  "IClass"="{C9D092D6-827A-45E2-8144-DE1982BFC3A8}"

小弟有几个问题想请教:
    1、WINCE5.0下开发摄像头驱动需要遵从DIRECTSHOW框架吗?我现有的符合DIRECTSHOW框架的驱动在WINCE5.0下能否工作正常?

    2、我现有的符合DIRECTSHOW框架的驱动,如果可以正常工作,上层应用程序该如何调用驱动并实现拍照、预览等操作呢?

    3、如果我要将摄像头驱动改造成和一般流接口驱动一样,是不是直接把PIN Driver相关的代码屏蔽即可?

    4、有没有英雄有OV9650摄像头的调试经验呢?
此帖出自WindowsCE论坛

最新回复

多谢分享!!!  详情 回复 发表于 2009-10-8 11:26
点赞 关注
 

回复
举报

1

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
1、你可以选择不按照它的框架,但是就不能在DShow下调用了,只要符合他框架的就可以调用
2、这么写应用就要参考DShow编程的了,一般就是加载Capture filter和驱动,构建IGraphBulider,构建几条RenderStream(看你是要采集还是录像),网上例子很多,水利水电出版社的一本 windows ce 嵌入式高级编程及其实例讲解上面有一节是讲这个的,比较简单。
3、应该没有这么简单吧,没有试过
4、米有
此帖出自WindowsCE论坛
 
 
 

回复

34

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
clementzhao 英雄说:
“... camera本身是source filter一部分,是一定要有pin的,一般是3个。驱动写成怎样和ce的dx版本很有关系,ce5你做成这样也是媚眼给瞎子看,ce6和wm才有用。6410 camera只不过回归到伟大的dx架构下而已,兼容多个版本。三星很喜欢这样的代码复用,甚至ce6的bsp都是兼容wm的,很强。 ”

请问:
1、wince5.0不需要将camera驱动写成支持PIN(DIRECTSHOW)的架构吗?写成支持DIRECTSHOW架构的驱动,是不能在wince5.0下使用还是?

2、wince5.0包括的directshow版本,不支持使用这种camera驱动吗?
此帖出自WindowsCE论坛
 
 
 

回复

5

帖子

0

TA的资源

一粒金砂(初级)

4
 
1、对。不能。就当普通驱动做就好了
2、不支持。具体原因忘记了,反正无法正确连接filter。
此帖出自WindowsCE论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

5
 
wince5下不需要遵从,结果是上层的应用就不能用DShow架构了,必须全部自己写。

驱动层可以跳过PIN,直接作为流驱动来使用。应用层仍然全部是自己写。
此帖出自WindowsCE论坛
 
 
 

回复

13

帖子

0

TA的资源

一粒金砂(初级)

6
 
uping
此帖出自WindowsCE论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

7
 
嘿嘿,我参考的ADCM2650驱动,在WINCE5.0下实现了MDD层(public目录原本没有),其中就包括PIN驱动的实现;我先尝试下在DSHOW框架下移植到WINCE5.0下,不过先要将ADCM2650的控制部分换成OV9650,不知道有没有英雄有类似的源码可以参考?
此帖出自WindowsCE论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

8
 
底层驱动基本完成后,就需要编写应用程序测试摄像头是否工作正常,怎样编写应用程序实现图像捕捉、视频预览或是拍照?我看def文件导出的接口函数如下:

    CAM_Init
    CAM_Deinit
    CAM_Open
    CAM_Close
    CAM_Read
    CAM_Write
    CAM_Seek
    CAM_IOControl
    CAM_PowerUp
    CAM_PowerDown


应用程序应该是先调用CreateFile、OpenFile、然后调用DeviceIoControl函数。请问怎么实现在LCD触摸屏上实时显示视频预览、照片保存呢?
此帖出自WindowsCE论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

9
 
帮助楼主顶一个先,学习ing
此帖出自WindowsCE论坛
 
 
 

回复

7

帖子

0

TA的资源

一粒金砂(初级)

10
 
各位英雄啊,我的问题是:

1、应用程序进入视频预览时,怎么样实现将图像动态显示在界面上,而且只是占用主界面的一部分(如上贴图)?驱动程序DMA启动后,每次中断都会有新的图像数据填充到某段缓冲区,应用程序怎么控制将这些缓冲区的数据显示在界面上?

2、EVC++实现视频预览的方法是?驱动中留给上层的接口只有CAM_IOControl等几个函数。

3、拍照时,是不是通过DeviceIoControl函数将驱动中的DMA缓冲区拷贝到应用程序缓冲,然后再写入图片文件?

恳请英雄指点啊...
此帖出自WindowsCE论坛
 
 
 

回复

1

帖子

0

TA的资源

一粒金砂(初级)

11
 
楼主打开所有调试信息,看看应用做了什么。
其实wince5下的大多数camera驱动都是直接显示了,和LCD logo显示原理相同。
多看代码,丰衣足食。
此帖出自WindowsCE论坛
 
 
 

回复

1

帖子

0

TA的资源

禁止访问

12
 
提示: 作者被禁止或删除 内容自动屏蔽
 
 
 

回复

1

帖子

0

TA的资源

禁止访问

13
 
提示: 作者被禁止或删除 内容自动屏蔽
 
 
 

回复

4

帖子

0

TA的资源

一粒金砂(初级)

14
 
请问,模拟sccb总线时,为什么在发送完一个字节的8位数据后,还要主机发送一位(第9位)“don't care”?“don't care”不应该是从机发给主机的吗?

void __inline ov7620_sccb_writechar(unsigned char data)
{
        int i = 0;

        /* data */
        for (i = 0; i < 8; i++ ) {
                ov7620_sccb_write_bit(data & 0x80);
                data <<= 1;
        }

        /* 9th bit - Don't care */
        ov7620_sccb_write_bit(1);
}
此帖出自WindowsCE论坛
 
 
 

回复

2

帖子

0

TA的资源

一粒金砂(初级)

15
 
多谢分享!!!
此帖出自WindowsCE论坛
 
 
 

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

查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/9 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表