|
|
你好,想请教下,基于V4L2实现视频采集显示的程序。* C! b4 B4 [9 t9 K
采用OMAPL138,Linux3.3.0内核,使用的是创龙CMOS摄像头TL2640,( S' ~9 X9 _* p
程序可以成功交叉编译,在开发板中运行会出现问题,如下。
4 T7 K2 O( c) ^, x8 d
6 p; w/ v6 h% R w- V+ l相关程序为:$ m" X+ s, s1 n: D5 m7 J
3 |: y2 q6 R" _2 E/ Q
int fd=open(/dev/video0,O_RDWR);//打开设备,返回值0; o0 _% e" z( Z/ F' D# p" V
. J7 U! ~* y. w3 P
……# ?: l! ~+ \1 F3 K2 I& O! T
1 Q" q. A, Q; u- T! v: Z. r$ r4 J7 B
ioctl(fd,VIDIOC_QUERYCAP,&cap);//读取设备相关信息,返回值0
! ~ l/ ~4 u1 J4 S2 B
0 I( ]7 M% Q6 Q: I9 M: o: Q. b5 P" ~0 k7 N0 C5 _' F3 K* `5 L
……# k* t" C. z' ^
$ v7 ]4 D) z( U7 dioctl(fd,VIDIOC_G_FMT,&fmt);//读取摄像头支持的视频格式,返回值-15 m( R$ S+ ?# z8 R& P0 E
$ n$ m) d9 c& m; Q/ q2 h
到这一步就失败了,返回值为-1。包括使用类似控制命令,如VIDIOC_G_STD。
& g. R1 @) V+ }1 v* a p使用设置摄像头格式的io控制命令,如VIDIOC_S_STD,VIDIOC_S_FMT,也会返回-1.: o1 l( P. G9 a; P4 K. c
. m$ ?, Y0 F* a
请问怎么解决,谢谢!; l1 K O, i& m: m; g5 s
/ B5 N& l4 a. D3 t R4 } |
|