【转载】WinCE6.0 Camera驱动源码分析(二)

转载自:http://jazka.blog.51cto.com/809003/719130

本文分析从应用程序启动到开始预览整个过程中,驱动代码的执行流程。开发环境是WinCE6.0+Android6410开发板。
 
一、驱动的加载,参考博文 http://jazka.blog.51cto.com/809003/707027
 
二、通过CAM_IOControl接口操作各种属性,下面的步骤中也会不断调用该接口,此处不细谈。
 
三、打开各个Pin接口并进行流实例化。
     调用PIN_Open打开对应的Pin接口,主要有Preview、Still、Capture三种接口,每次打开之后调用PIN_IOControl中的IOCTL_STREAM_INSTANTIATE完成流实例化。具体执行的函数是CPinDevice :: StreamInstantiate。
 
四、设置各个Pin的视频流格式。

五、初始化Sensor状态,包括Camera时钟、GPIO、复位等设置,之后设置Capture的状态为PAUSE。

六、管理Pin的Buffer,由用户层分配
 

七、跟第五步执行流程类似,只是设置的PAUSE状态是Still和Preview。
 
八、同样跟第五步类似,不同的是设置Preview为RUN的状态,从SetSensorState开始执行的内容就不一样了。

九、添加Buffer到驱动的队列中

十、响应中断,开始处理接收到的图像数据(以Preview为例)
 

转载于:https://www.cnblogs.com/hao507/articles/2816365.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值