LinuxÉãÏñÍ·±à³ÌС½á
ת×Ô£ºhttp://blog.chinaunix.net/u/7547/showart_122619.html
1.open device:
video_dev = open("\dev\video0",O_RDWR));
2.get the information of the video device
struct video_capability video_cap;
memset(&video_cap,0,sizeof(video_cap));
if(ioctl(video_dev,VIDIOCGCAP,&video_cap) == -1)
{
perror("Cann't get the information of the video device");
close(video_dev);
exit(1);
}
3.get the information of the channels
struct video_channel video_chan;
memset(&video_chan,0,sizeof(video_chan));
for(channel = 0;channel < video_cap.channels;channel++)
{
video_chan.channel = channel;
if(ioctl(video_dev,VIDIOCGCHAN,&video_chan) == -1)
{
perror("Cann't get the information of the channels");
close(video_dev);
exit(3);
}
if(video_chan.type == VIDEO_TYPE_TV)
{
#ifdef DEBUG
printf("NO.%d channel is %s,type is tv!\n",channel,video_chan.name);
#endif
}
if(video_chan.type == VIDEO_TYPE_CAMERA)
Ïà¹ØÎĵµ£º
ÔÚbbsÉÏ·¢Á˸öÈçÌâËùʾµÄ´óÍÁÌû£¬½á¹ûûһ¸ö»Ø¸´£¬°¥£¬Õ涪ÈË~~~£¬ÃÉʦÐÖÖ¸µã£¬²Å³õ²½¸ãÇå³þlinuxÄ£¿éº¯ÊýµÄµ÷ÓûúÖÆ£º
Ê×ÏÈ£¬Ó¦ÓóÌÐòÊÇÎÞ·¨Ö±½Ó·ÃÎÊÄ£¿éÖеĺ¯ÊýµÄ£¨¼´Ê¹ÊÇÄã×Ô±à×Ô¹ÒµÄÄ£¿é££Êµ¼ÊÉÏËüÒ²ÊÇÄÚºËÄ£¿é£©£¬Óû§¿Õ¼äÓëÄں˿ռäÖ®¼äÖ»ÓÐͨ¹ýһЩÌض¨µÄϵͳº¯ÊýÀ´½øÐÐͨѶ£¨Èçʲôuser_to_kernel£©£¬¶ø¾ø¶Ô²»¿ ......
Ò»¡¢±³¾°ÖªÊ¶
1¡¢USB Mass StorageÀà¹æ·¶¸ÅÊö
USB ×éÖ¯ÔÚuniversal Serial Bus Mass Storage Class Spaceification 1.1°æ±¾Öж¨ÒåÁ˺£Á¿´æ´¢É豸ÀࣨMass Storage Class£©µÄ¹æ·¶£¬Õâ¸öÀà¹æ·¶°üÀ¨Ëĸö
¶ÀÁ¢µÄ×ÓÀ ......
Linux ²Ù×÷ϵͳ C ÓïÑÔ±à³ÌÈëÃÅ
Ŀ ¼
µÚÒ»Õ »ù´¡ÖªÊ¶ ……………………………………………………………4
µÚ¶þÕÂ ......
1. ´ò¿ª´®¿Ú
¡¡¡¡ÓëÆäËûµÄ¹ØÓÚÉ豸±à³ÌµÄ·½·¨Ò»Ñù£¬ÔÚLinuxÏ£¬²Ù×÷¡¢¿ØÖÆ´®¿ÚÒ²ÊÇͨ¹ý²Ù×÷ÆðÉ豸Îļþ½øÐеġ£ÔÚLinuxÏ£¬´®¿ÚµÄÉ豸ÎļþÊÇ/dev/ttyS0»ò/dev/ttyS1µÈ¡£Òò´ËÒª¶Áд´®¿Ú£¬ÎÒÃÇÊ×ÏÈÒª´ò¿ª´®¿Ú£º
¡¡
¡¡¡¡char *dev = "/dev/ttyS0"£» //´®¿Ú1
¡¡
¡¡¡¡int fd = open£¨ dev£¬ O_RDWR £©£»
¡¡
¡¡¡¡//| O_NOCT ......
½üÈÕÔÚcentosÏÂÓÃc䶫Î÷£¬Õâ¸ö³ÌÐòµÄ·þÎñ¶ËÔËÐÐÔÚ64λµÄcentosÏ£¬¿Í»§¶ËÓпÉÄÜÊÇ32»ú£¬Ò²ÓпÉÄÜÊÇ64λµÄ¡£
ΪÁ˱£Ö¤Êý¾Ý´«ÊäµÄÒ»ÖÂÐÔÖƶ¨ÁËÒ»Ì×ÐÒ飬ÓÃstructʵÏÖ¡£ÎªÁ˱£Ö¤Êä³ö¹ý³ÌÖУ¬Êý¾ÝµÄÍêÕûÐÔ£¬ÌرðÕë¶ÔϵͳµÄ²»Í¬¶ÔstructÀï±äÁ¿µÄÀàÐͽøÐÐÁËÓÅ»¯¡£ÎªÁ˱£Ö¤ÄÚ´æ¶ÔÆ뷽ʽµÄÒ»ÖºÍÊý¾Ý´æ´¢¿Õ¼äµÄ½ô´Õ£¬¶¼Óà #pragm ......