|
你好,想请教下,基于V4L2实现视频采集显示的程序。9 v4 b2 `! c, T$ z8 B( `" w8 }
采用OMAPL138,Linux3.3.0内核,使用的是创龙CMOS摄像头TL2640,
0 p# d* H5 q7 X! e; y' q2 p程序可以成功交叉编译,在开发板中运行会出现问题,如下。
7 }* A8 v% u" M* h2 G$ G# q: N
( Y# }+ E# @, Y6 w. _相关程序为:
4 w( Y( h; g' K6 H$ j u3 p2 r J+ ~& t) ]& B+ {$ V! k- u4 {" B, R
int fd=open(/dev/video0,O_RDWR);//打开设备,返回值0
* {% P# `" X" _; r. ~, ?" I
: I5 W! P, G- E# n L……8 c j; n$ s1 B) [. j5 X0 [/ _( Z7 f
/ W% S7 _5 q3 w8 J' kioctl(fd,VIDIOC_QUERYCAP,&cap);//读取设备相关信息,返回值0
- R+ B; P8 Q# U5 u
) j$ g5 e4 W; i; K; D2 W
8 l+ O; K$ b5 k+ h. Q: c……& q/ a1 I; \, D& D' x2 M q2 z
8 \- `6 k* o- I8 P z+ W. Iioctl(fd,VIDIOC_G_FMT,&fmt);//读取摄像头支持的视频格式,返回值-1
) }; v+ m8 C' W5 v4 I
( M/ ~1 ~1 p5 V0 D& w. R! v, U到这一步就失败了,返回值为-1。包括使用类似控制命令,如VIDIOC_G_STD。
" F2 I$ N5 c7 G* |0 Z+ d4 M使用设置摄像头格式的io控制命令,如VIDIOC_S_STD,VIDIOC_S_FMT,也会返回-1.7 _3 e& l( Q7 `3 ~0 i
* V; g# m! N- ~9 {9 |2 E
请问怎么解决,谢谢!# T% t& @3 b! }. u$ z0 y
; b8 u( O9 J8 w- t5 d5 O
|
|