回复帖子:(fqjboy)EM335x开发板Linux系统中usb设备自动...

用户名:   *您没有注册?
密码:   *忘记论坛密码?    标题采用“回复:XXX....”
验证码 点击获取验证码
主题标题:  *不得超过 200 个汉字
当前心情
上一页 发帖表情 下一页
内容
  

主题最新回顾(发布时间:2016-5-10 15:04:00)
--  作者:hzc
--  
你好,我测试了一下,打印信息中有这一句:
add@/devices/soc0/80080000.ahb/80090000.usb/ci_hdrc.1/usb1/1-1/1-1.4/1-1.4:1.0/host1/target1:0:0/1:0:0:0/block/sda

主题最新回顾(发布时间:2016-5-10 13:10:00)
--  作者:fqjboy
--  
 原来是这个意思,其实我贴的这段代码是原版的,我实际用的代码里在第二层的if那有printf("%s\n", buf)的语句。其实我的疑惑就是buf里肯定有sda的字符,但在输出的buf里却看不到

主题最新回顾(发布时间:2016-5-10 13:02:00)
--  作者:x10(110.184.*.*)
--  
就是uncomment //。

主题最新回顾(发布时间:2016-5-10 13:00:00)
--  作者:fqjboy
--  
 如何打开屏蔽的printf呢?

主题最新回顾(发布时间:2016-5-9 17:42:00)
--  作者:hzc
--  
你好,进入到判断中说明肯定有这个字符串,查看打印信息可以把屏蔽的printf打开看看buf里面的内容。

主题最新回顾(发布时间:2016-5-9 16:41:00)
--  作者:fqjboy
--  EM335x开发板Linux系统中usb设备自动检测问题
 我这里有贵公司给的一个小程序,test_hotplug,是用来检测是否有usb设备插入的,如果有就将其挂载到某个目录下。程序里当接收到Linux内核的消息后,会判断这个信息里是否有字符串“sda1”,有的话就挂载;没有的话继续循环;部分代码如下:
          /* Netlink message buffer */
         char buf[UEVENT_BUFFER_SIZE * 2] = {0};
         recv(hotplug_sock, &buf, sizeof(buf), 0);
         //printf("%s\n", buf);
         /* USB 设备的插拔会出现字符信息,通过比较不同的信息确定特定设备的插拔,在这添加比较代码 */
         if( strncmp(buf, "add", 3 )==0 )
         {
                  p = strstr( buf, "sda1");
             if ( (p!=NULL ) && (add1==0) )
             {
                 sleep(1);
                 system( "umount  /mnt/usb1/" );
                 system( "mount -t vfat -o iocharset=cp936 /dev/sda1 /mnt/usb1" );
                 add1 = 1;
             }
             else
             {
                 p = strstr( buf, "sdb1");
  我的问题是当我插上usb后,输出的信息buf中并没有“sda1”的子字符串,但实际情况是程序却进入了第二层if语句中,为什么?