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卡时不运行,这里就不展示了,我感觉应该会有其他人也遇到过类似问题,不知大家有什么办法提示一下呢
如果笔记本能读的话 ,
硬件考虑2点1 台式机的电源 与笔记本不同,
2 台式机的 硬件驱动与笔记本不同
尝试换个U口 ,或者换个USB集线器 ,在不行换个台式机 ,
2 考虑软件 ,那就是你台式机操作系统的驱动装的有问题,或者是套实际的操作系统有问题,
这个概率比较大,换台机子试试 自己的帖子自己顶吧,不知有没有遇到过的 别沉啊,程序中去掉某些与虚拟U盘不相关的函数,台式机就能识别,但这样不行啊。 上台机和笔记本的USB抓包数据对比下看看 去掉的函数里是不是有延时函数或者是有调用延时函数? 描述不是很清楚吖,系统都是win10吗?抓一下枚举过程。 个人觉得,要解决这问题,不是换一台别款与笔电同系统版本的台式机来试,要吗就是换人来试!
这两项必然有一项能解决楼主的疑问,哈!~ :L
能具体说说是哪个函数吗?把这个函数发上来看看,感觉是不是用了串口,有冲突 我想会不会因为两台机器的WIN系统存在差异?很多时候虽然驱动认了,但是存在端口冲突。我的理解可能不确切供参考。
页:
[1]
2