你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

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

[复制链接]
ligongxiaobie 提问时间:2018-5-22 17:08 /
本帖最后由 ligongxiaobie 于 2018-5-22 20:02 编辑

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


  2.         SD_Init();
  3.         exfuns_init();

  4.         MSC_BOT_Data=mymalloc(SRAMIN,MSC_MEDIA_PACKET);                        //申请内存
  5.         USBD_Init(&USB_OTG_dev,USB_OTG_FS_CORE_ID,&USR_desc,&USBD_MSC_cb,&USR_cb);
  6. //        delay_ms(1800);               
  7.         printf("进入USB\r\n");
  8.         while(1);        
复制代码

其他还有比较大的代码在不读SD卡时不运行,这里就不展示了,我感觉应该会有其他人也遇到过类似问题,不知大家有什么办法提示一下呢
收藏 1 评论15 发布时间:2018-5-22 17:08

举报

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

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

ligongxiaobie 回答时间:2018-5-22 19:26:18
自己的帖子自己顶吧,不知有没有遇到过的
ligongxiaobie 回答时间:2018-5-23 09:02:28
别沉啊,程序中去掉某些与虚拟U盘不相关的函数,台式机就能识别,但这样不行啊。
shanji 回答时间:2018-6-6 09:16:48
上台机和笔记本的USB抓包数据对比下看看

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

lilei900512 回答时间:2018-6-6 09:22:49
去掉的函数里是不是有延时函数或者是有调用延时函数?

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

馒头弟 回答时间:2018-6-6 09:52:24
描述不是很清楚吖,系统都是win10吗?抓一下枚举过程。

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

x5y4z3 回答时间:2018-6-6 10:26:56
个人觉得,要解决这问题,不是换一台别款与笔电同系统版本的台式机来试,要吗就是换人来试!
这两项必然有一项能解决楼主的疑问,哈!~

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

五哥1 回答时间:2018-6-6 12:48:01
能具体说说是哪个函数吗?把这个函数发上来看看,感觉是不是用了串口,有冲突

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

大天津 回答时间:2018-6-6 13:06:17
我想会不会因为两台机器的WIN系统存在差异?很多时候虽然驱动认了,但是存在端口冲突。我的理解可能不确切供参考。

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

jcx0324 回答时间:2018-6-6 14:06:00
还是直接用抓包软件去分析比较实在

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

阿莫西林 回答时间:2018-6-6 14:43:18
我用F072的USB把flash都可以模拟成U盘,你这肯定是程序问题

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

Cortexxx 回答时间:2018-6-6 16:49:56
阿莫西林 发表于 2018-6-6 14:43
我用F072的USB把flash都可以模拟成U盘,你这肯定是程序问题

请问,你是用CubeMX做的吗?  我正在用F407的Flash做一个U盘,因为不是很懂USB所以就直接用CubeMX生成USB的project, 修改了 STORAGE_Read_FS()  和 STORAGE_Write_FS() 这两函数,分别在里面添加了读,写 FLASH的函数。可是查到电脑上面还是显示U盘需要格式化。是不是还要添加别的函数?  读写的FLASH BASE ADDRESS 需要再定义吗?
还有这两个#define  配置块的大小 和数量 是要根据 FLASH的 SECTOR大小做相应的改变吗?
而且F407 FLASH的SECTOR的大小并不是均分的。
#define STORAGE_BLK_NBR                  0x10000
#define STORAGE_BLK_SIZ                  0x200

评分

参与人数 1蝴蝶豆 +4 收起 理由
zero99 + 4

查看全部评分

蓝夜 回答时间:2018-6-7 15:07:27
你用 CubeMX 生成一个例子 ,然后 比较一下,这样比较好,你觉得呢?
不行就用CubeMx

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

forget121 回答时间:2018-6-7 16:09:52
这种问题要用排除方法,确定是软件是问题,还是兼容问题,,
多试几台笔记本和台式机,
软件上对比其它型号MCU,没有问题的代码,,主要对比下初始化部分。。

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

12下一页

所属标签

相似问题

官网相关资源

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版