ligongxiaobie 发表于 2018-5-22 17:08:01

F767的USB对SD卡虚拟U盘,台式机读不了,笔记本能读

本帖最后由 ligongxiaobie 于 2018-5-22 20:02 编辑

如题,程序用正点原子的程序,台式机能识别驱动,但是显示叹号,笔记本能识别U盘。去掉其他不相关的部分函数,台式机就可以读了。但是其他功能(虚拟U盘之外的功能)就无法实现了。
基本代码如下:
my_mem_init(SRAMIN);                  //初始化内部内存池


      SD_Init();
      exfuns_init();

      MSC_BOT_Data=mymalloc(SRAMIN,MSC_MEDIA_PACKET);                        //申请内存
      USBD_Init(&USB_OTG_dev,USB_OTG_FS_CORE_ID,&USR_desc,&USBD_MSC_cb,&USR_cb);
//      delay_ms(1800);               
      printf("进入USB\r\n");
      while(1);      
其他还有比较大的代码在不读SD卡时不运行,这里就不展示了,我感觉应该会有其他人也遇到过类似问题,不知大家有什么办法提示一下呢

50031185 发表于 2018-6-6 10:30:35

如果笔记本能读的话 ,
硬件考虑2点1 台式机的电源 与笔记本不同,
2 台式机的 硬件驱动与笔记本不同
尝试换个U口 ,或者换个USB集线器 ,在不行换个台式机 ,
2 考虑软件 ,那就是你台式机操作系统的驱动装的有问题,或者是套实际的操作系统有问题,
这个概率比较大,换台机子试试

ligongxiaobie 发表于 2018-5-22 19:26:18

自己的帖子自己顶吧,不知有没有遇到过的

ligongxiaobie 发表于 2018-5-23 09:02:28

别沉啊,程序中去掉某些与虚拟U盘不相关的函数,台式机就能识别,但这样不行啊。

shanji 发表于 2018-6-6 09:16:48

上台机和笔记本的USB抓包数据对比下看看

lilei900512 发表于 2018-6-6 09:22:49

去掉的函数里是不是有延时函数或者是有调用延时函数?

馒头弟 发表于 2018-6-6 09:52:24

描述不是很清楚吖,系统都是win10吗?抓一下枚举过程。

x5y4z3 发表于 2018-6-6 10:26:56

个人觉得,要解决这问题,不是换一台别款与笔电同系统版本的台式机来试,要吗就是换人来试!
这两项必然有一项能解决楼主的疑问,哈!~ :L

五哥1 发表于 2018-6-6 12:48:01

能具体说说是哪个函数吗?把这个函数发上来看看,感觉是不是用了串口,有冲突

zhangjsh 发表于 2018-6-6 13:06:17

我想会不会因为两台机器的WIN系统存在差异?很多时候虽然驱动认了,但是存在端口冲突。我的理解可能不确切供参考。
页: [1] 2
查看完整版本: F767的USB对SD卡虚拟U盘,台式机读不了,笔记本能读