主题最新回顾(发布时间: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语句中,为什么? |