OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 32612|回复: 60

USB Host读取U盘成功

[复制链接]

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
发表于 2015-6-13 00:04:27 | 显示全部楼层 |阅读模式
运行平台:原子哥F4探索者开发板
编译环境:Windows 7 64bits、MDK5.14
文件系统:FatFs R0.10
USB开发包:STM32_USB-Host-Device_Lib_V2.1.0

目前官网版本为2.1

一、将下载下来的压缩包解压,得到如下文件


二、新建工程文件夹,将上图中红色框框中的三个文件夹拷贝到工程中,我新建了三个文件夹存放不同的代码,具体视兴趣建立


其中USB_APP文件夹存放的是底层驱动相关函数文件
三、打开MDK,新建工程,添加相关文件到工程,完成如下图所示


四、打开“usb_conf.h”文件,在文件开头处的头文件,删除(或注释掉)不相关的头文件,剩下“#include "stm32f4xx.h"”


五、打开“usb_bsp.c”文件,添加延时函数头文件,注释掉(或删掉)官方定义的管脚等信息(详细见工程)
六、改写“void USB_OTG_BSP_Init(USB_OTG_CORE_HANDLE *pdev)”函数


具体用到哪些IO请看探索者开发板原理图
改写“void USB_OTG_BSP_EnableInterrupt(USB_OTG_CORE_HANDLE *pdev)”函数,这个函数是设置USB中断优先级的
七、注释掉(或删掉)“void USB_OTG_BSP_DriveVBUS(USB_OTG_CORE_HANDLE *pdev, uint8_t state)”和“void  USB_OTG_BSP_ConfigVBUS(USB_OTG_CORE_HANDLE *pdev)”函数内容,因为探索者开发板没有使用到这个泵泵
八、
注释掉(或删掉)“static void USB_OTG_BSP_TimeInit ( void )”这个函数,修改“void USB_OTG_BSP_uDelay (const uint32_t usec)”和“void USB_OTG_BSP_mDelay (const uint32_t msec)”这两个函数,我们使用到了滴答定时器做延时,官方例程使用的是定时器
至此,本文件代码修改完毕,点击

红色框框中按钮进行编译,将输出显示框中提示到的错误等信息修改正确。
九、打开“usbh_usr.c”文件,将引用的头文件修改成这样


十、接下来的位置,修改成下图样子,蓝色箭头是增加的结构定义,因为现在移植的是host模式,红色框框内容是官网例程使用到的,我们在其他地方实现文件系统读写操作


十一、接下来将这几个函数修改成工程的样子

void USBH_USR_Init(void)

void USBH_USR_DeviceAttached(void)

void USBH_USR_UnrecoveredError (void)

void USBH_USR_DeviceDisconnected (void)

void USBH_USR_ResetDevice(void)

void USBH_USR_DeviceSpeedDetected(uint8_t DeviceSpeed)

void USBH_USR_Device_DescAvailable(void *DeviceDesc)

void USBH_USR_DeviceAddressAssigned(void)

void USBH_USR_Configuration_DescAvailable()

void USBH_USR_Manufacturer_String(void *ManufacturerString)

void USBH_USR_Product_String(void *ProductString)

void USBH_USR_SerialNum_String(void *SerialNumString)

void USBH_USR_EnumerationDone(void)

void USBH_USR_DeviceNotSupported(void)

USBH_USR_Status USBH_USR_UserInput(void)

void USBH_USR_OverCurrentDetected (void)
注释掉函数int USBH_USR_MSC_Application(void)中内容,修改成工程样子,需在usbh_usr.h文件中创建宏定义#define USH_USR_FS_TEST   4
剩下往下的内容全部注释掉
十二、再下来就增加几个函数
void OTG_FS_IRQHandler(void)【官方在stm32fxxx_it.c文件中压缩包路径为.. \STM32_USB-Host-Device_Lib_V2.1.0\Project\USB_Host_Examples\MSC\src】
以下几个函数可以直接在文件usbh_msc_fatfs.c中抄过来,路径.. \STM32_USB-Host-Device_Lib_V2.1.0\Libraries\STM32_USB_HOST_Library\Class\MSC\src

uint32_t USB_disk_status(void)

int USB_disk_read(uint8_t *buff, uint32_t sector, uint32_t count)

int USB_disk_write(uint8_t *buff, uint32_t sector, uint32_t count)
十三、以上家伙都完工之后,开始编写main函数了添加int USER_APP_Test(void)函数,在上面我们要求写这么一个测试函数,内容详细见工程,在此函数里边完成读写操作,官方是在int USBH_USR_MSC_Application(void)函数里边完成
十四、改写文件系统disko.c文件,这里边的代码完全可以借鉴usbh_msc_fatfs.c文件,.. \STM32_USB-Host-Device_Lib_V2.1.0\Libraries\STM32_USB_HOST_Library\Class\MSC\src
十五、写好后,就编写main循环内容了,初始化外设,分配内存等操作,编译改错即可
十六、编译无误后下载到探索者板子,插上U盘,可以看到屏幕上显示获取到的信息


获取到U盘总大小和剩余容量大小并显示
十七、这时,按照屏幕提示,按下KEY0按键执行写入U盘操作,再次按KEY2按键执行读取U盘操作


十八、将U盘插到电脑上查看文件


好像有点不对


与代码对比,写入和读取的数据一样的,说明成功了,哈哈

详细工程请看附件,其中不足之处望指导指导

USB_Host_M4.zip

57.11 MB, 下载次数: 147789

现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

4

主题

56

帖子

0

精华

初级会员

Rank: 2

积分
129
金钱
129
注册时间
2015-3-9
在线时间
9 小时
发表于 2015-6-13 00:08:57 | 显示全部楼层
来来,我是一个白菜,菜菜菜。。。。。
回复 支持 反对

使用道具 举报

6

主题

91

帖子

0

精华

高级会员

Rank: 4

积分
767
金钱
767
注册时间
2014-11-15
在线时间
91 小时
发表于 2015-6-13 00:12:22 | 显示全部楼层
感谢分享,学习了
回复 支持 反对

使用道具 举报

15

主题

118

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
309
金钱
309
注册时间
2014-11-2
在线时间
24 小时
发表于 2015-6-13 14:52:41 | 显示全部楼层
谢谢分享!你又出新作了啊!
回复 支持 反对

使用道具 举报

2

主题

20

帖子

0

精华

初级会员

Rank: 2

积分
98
金钱
98
注册时间
2015-4-10
在线时间
12 小时
发表于 2015-6-13 21:36:06 | 显示全部楼层
厉害,厉害。。
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2015-6-13 23:30:32 | 显示全部楼层
回复【2楼】tuy0326:
---------------------------------
谢谢!
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2015-6-13 23:31:03 | 显示全部楼层
回复【3楼】Bula:
---------------------------------
回复【4楼】过客:
---------------------------------
不厉害,只是玩玩,菜鸟一枚。。。
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2015-6-13 23:31:18 | 显示全部楼层
回复【5楼】Oneperson_1:
---------------------------------
也是菜鸟一枚。。。呵呵
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2015-6-22 10:55:27 | 显示全部楼层
剩余容量不对,格式化一下就好了
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

头像被屏蔽

6168

主题

7036

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
19705
金钱
19705
注册时间
2012-12-27
在线时间
25 小时
发表于 2015-6-22 18:34:26 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2015-6-22 20:49:35 | 显示全部楼层
回复【10楼】xouou_53320:
---------------------------------
还是老师你牛啊
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

48

主题

180

帖子

0

精华

初级会员

Rank: 2

积分
116
金钱
116
注册时间
2016-3-18
在线时间
88 小时
发表于 2016-3-28 15:46:15 | 显示全部楼层
你好,我一直很困惑,最终用户函数的实现都是在USBH_USR_ApplicationState()函数中,但是这个函数在初始化完后是由谁来调用的,中断吗?还是main()中的processing函数。
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2016-3-28 15:55:07 | 显示全部楼层
mengheli 发表于 2016-3-28 15:46
你好,我一直很困惑,最终用户函数的实现都是在USBH_USR_ApplicationState()函数中,但是这个函数在初始 ...

好像是USB内核调用的,具体不记得了,好久没用了
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

48

主题

180

帖子

0

精华

初级会员

Rank: 2

积分
116
金钱
116
注册时间
2016-3-18
在线时间
88 小时
发表于 2016-3-28 20:41:28 | 显示全部楼层
八度空间 发表于 2016-3-28 15:55
好像是USB内核调用的,具体不记得了,好久没用了

好吧~还是谢谢你
回复 支持 反对

使用道具 举报

48

主题

537

帖子

2

精华

金牌会员

Rank: 6Rank: 6

积分
1369
金钱
1369
注册时间
2014-2-13
在线时间
169 小时
发表于 2016-5-6 14:01:40 | 显示全部楼层
V2.1.0兼容新不好,最新版的V3.2.2反复拔插会死机。。。
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2016-5-6 17:49:02 | 显示全部楼层
solo 发表于 2016-5-6 14:01
V2.1.0兼容新不好,最新版的V3.2.2反复拔插会死机。。。

现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

48

主题

537

帖子

2

精华

金牌会员

Rank: 6Rank: 6

积分
1369
金钱
1369
注册时间
2014-2-13
在线时间
169 小时
发表于 2016-5-7 08:05:27 | 显示全部楼层
回复 支持 反对

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2016-8-4
在线时间
4 小时
发表于 2016-8-4 09:16:32 | 显示全部楼层
我也用的这个例程,发现USB在枚举的时候失败了,一直返回的是USBH_BUSY,楼主遇到相同的问题没?
回复 支持 反对

使用道具 举报

1

主题

3

帖子

0

精华

新手入门

积分
15
金钱
15
注册时间
2016-8-4
在线时间
4 小时
发表于 2016-8-4 10:17:21 | 显示全部楼层
一样的问题 ,求解
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2016-8-4 12:54:26 | 显示全部楼层
ly528 发表于 2016-8-4 09:16
我也用的这个例程,发现USB在枚举的时候失败了,一直返回的是USBH_BUSY,楼主遇到相同的问题没?

遇到过一次,在读取函数中没初始化变量
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

10

主题

147

帖子

0

精华

高级会员

Rank: 4

积分
602
金钱
602
注册时间
2015-7-11
在线时间
94 小时
发表于 2016-9-17 19:07:52 | 显示全部楼层
学习一下!!!
回复 支持 反对

使用道具 举报

4

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
95
金钱
95
注册时间
2016-9-26
在线时间
17 小时
发表于 2016-10-14 11:29:13 | 显示全部楼层
我的数据还么有准备好就总是进入OTG_FS_IRQHandler发送上次的数据是怎么回事啊
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2016-10-14 12:31:45 | 显示全部楼层
soliciter 发表于 2016-10-14 11:29
我的数据还么有准备好就总是进入OTG_FS_IRQHandler发送上次的数据是怎么回事啊

判断USB状态
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

4

主题

46

帖子

0

精华

初级会员

Rank: 2

积分
149
金钱
149
注册时间
2014-7-14
在线时间
11 小时
发表于 2016-12-6 09:47:41 | 显示全部楼层
楼主大神,先学习了
回复 支持 反对

使用道具 举报

0

主题

31

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
274
金钱
274
注册时间
2014-3-21
在线时间
85 小时
发表于 2017-1-19 21:23:58 | 显示全部楼层
各位大神,也许我没有把资料看齐,能先问一下,USB电源为什么要串MOS管控制USB对外电源,不能一直连起来吗?
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2017-1-20 00:11:35 | 显示全部楼层
HZY//123456 发表于 2017-1-19 21:23
各位大神,也许我没有把资料看齐,能先问一下,USB电源为什么要串MOS管控制USB对外电源,不能一直连起来吗 ...

可以直接连接啊,这样做可以控制这个电源插上与断开,类似拔掉USB设备一样
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

0

主题

11

帖子

0

精华

初级会员

Rank: 2

积分
129
金钱
129
注册时间
2017-4-11
在线时间
31 小时
发表于 2017-4-20 15:42:54 | 显示全部楼层
感谢
回复 支持 反对

使用道具 举报

8

主题

23

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
236
金钱
236
注册时间
2017-4-6
在线时间
45 小时
发表于 2017-4-23 13:30:22 | 显示全部楼层
能从另外的USB接口读写吗?比如PB14,PB15。你应该用的是开发板上面的USB接口PA11,P12进行读写,或者你能从PA11,PA12读U盘,从PB14,PB15写U盘不?
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2017-4-23 14:49:51 | 显示全部楼层
13118302007 发表于 2017-4-23 13:30
能从另外的USB接口读写吗?比如PB14,PB15。你应该用的是开发板上面的USB接口PA11,P12进行读写,或者你能 ...

要带有USB功能的接口才行
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

8

主题

23

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
236
金钱
236
注册时间
2017-4-6
在线时间
45 小时
发表于 2017-4-26 12:34:27 | 显示全部楼层
八度空间 发表于 2017-4-23 14:49
要带有USB功能的接口才行

PB14,PB15有这个功能
回复 支持 反对

使用道具 举报

3

主题

33

帖子

0

精华

初级会员

Rank: 2

积分
89
金钱
89
注册时间
2017-3-8
在线时间
36 小时
发表于 2017-4-26 13:28:13 | 显示全部楼层
前辈好,小弟最近想透过探索板作一个实验,实验架构是这样的,我有两个探索者开发板,我想使用该开发板上的USB资源来进行互相沟通,也就是一个板子当HOST一个板子当Device,并且经过探索者的教学影片过后得知了圈圈教你玩USB这本书,于是就将USB协议做了个初步了解。

经过圈圈教你玩USB此书之后,我想将其传输方式预定为批量传输,因为想让A板对B板进行每次传输一个字节的沟通即可,在此想请教如何对HOST以及Device进行配置呢? 如何完成枚举的过程呢?
恳请赐教! 万分感激!
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2017-4-27 09:03:07 | 显示全部楼层
Morgan 发表于 2017-4-26 13:28
前辈好,小弟最近想透过探索板作一个实验,实验架构是这样的,我有两个探索者开发板,我想使用该开发板上的 ...

你想操作寄存器来完成枚举么?
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

9

主题

91

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
421
金钱
421
注册时间
2017-4-26
在线时间
64 小时
发表于 2017-4-28 09:10:30 | 显示全部楼层
学习,支持
回复 支持 反对

使用道具 举报

8

主题

571

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
2919
金钱
2919
注册时间
2016-5-13
在线时间
185 小时
发表于 2017-7-17 16:33:07 | 显示全部楼层
开发库去st上下载需要登录st的注册帐号,比较麻烦。给大家一个不用帐号的下载连接:https://pan.baidu.com/s/1dDRx8Ox
虽然不明白你们在说什么,但感觉很厉害的样子。
回复 支持 反对

使用道具 举报

1

主题

10

帖子

0

精华

初级会员

Rank: 2

积分
52
金钱
52
注册时间
2016-5-14
在线时间
13 小时
发表于 2017-10-18 23:44:42 | 显示全部楼层
咨询一下 U盘最大能支持多大的内存啊
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2017-10-19 08:55:03 | 显示全部楼层
xaiozhi 发表于 2017-10-18 23:44
咨询一下 U盘最大能支持多大的内存啊

没测试过,这个和格式有关系,什么FAT、FAT16、FAT32、NTFS什么的
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

1

主题

17

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2017-8-11
在线时间
34 小时
发表于 2018-3-17 17:01:56 | 显示全部楼层
前辈,在自己的板子上移植您的程序 发现文件系统挂载失败 RES返回值是FS_NOT_READY
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2018-3-18 18:36:28 | 显示全部楼层
晨晨沉 发表于 2018-3-17 17:01
前辈,在自己的板子上移植您的程序 发现文件系统挂载失败 RES返回值是FS_NOT_READY

没移植好吧
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

1

主题

17

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2017-8-11
在线时间
34 小时
发表于 2018-3-19 10:54:38 | 显示全部楼层

???````
回复 支持 反对

使用道具 举报

1

主题

17

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2017-8-11
在线时间
34 小时
发表于 2018-3-19 10:55:54 | 显示全部楼层

不过我是自己画的板子 不是开发板
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2018-3-19 20:15:07 | 显示全部楼层
晨晨沉 发表于 2018-3-19 10:55
不过我是自己画的板子 不是开发板

那要看下对不对了
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

1

主题

17

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2017-8-11
在线时间
34 小时
发表于 2018-3-21 18:53:16 | 显示全部楼层

现在就是 插上和拔出U盘 USBH_USR_DeviceAttached和USBH_USR_DeviceDisconnected会正好反过来····很痛苦
回复 支持 反对

使用道具 举报

1

主题

17

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2017-8-11
在线时间
34 小时
发表于 2018-3-21 18:53:53 | 显示全部楼层
晨晨沉 发表于 2018-3-21 18:53
现在就是 插上和拔出U盘 USBH_USR_DeviceAttached和USBH_USR_DeviceDisconnected会正好反过来··· ...

就是 拔出U盘会进入USBH_USR_DeviceAttached 插上会进入USBH_USR_DeviceDisconnected
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2018-3-21 20:33:18 | 显示全部楼层
晨晨沉 发表于 2018-3-21 18:53
就是 拔出U盘会进入USBH_USR_DeviceAttached 插上会进入USBH_USR_DeviceDisconnected

看下逻辑对不对
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

1

主题

17

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2017-8-11
在线时间
34 小时
发表于 2018-3-22 09:43:05 | 显示全部楼层

我就是内部库函数那些都没动 然后在 usbh_usr.c 里面的对应那两个跳转函数里做了不同的灯的点亮和熄灭····也进行断点追踪 发现确实跳转进了相反的函数里
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2018-3-22 20:52:38 | 显示全部楼层
晨晨沉 发表于 2018-3-22 09:43
我就是内部库函数那些都没动 然后在 usbh_usr.c 里面的对应那两个跳转函数里做了不同的灯的点亮和熄灭· ...

不会吧,这都有可能,记得断开连接和连接上调用的函数都正确的,你将标志反过来填充看下什么结果
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

1

主题

17

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2017-8-11
在线时间
34 小时
发表于 2018-3-23 09:47:22 | 显示全部楼层
八度空间 发表于 2018-3-22 20:52
不会吧,这都有可能,记得断开连接和连接上调用的函数都正确的,你将标志反过来填充看下什么结果

现在这个情况解决了  电路有点问题 进行了修改 现在能够正常检测插拔 FATFS系统挂载提示0x01 FR_DISK_ERR
回复 支持 反对

使用道具 举报

1

主题

17

帖子

0

精华

新手上路

积分
40
金钱
40
注册时间
2017-8-11
在线时间
34 小时
发表于 2018-3-23 18:57:16 | 显示全部楼层
晨晨沉 发表于 2018-3-23 09:47
现在这个情况解决了  电路有点问题 进行了修改 现在能够正常检测插拔 FATFS系统挂载提示0x01 FR_DISK_ERR

另外我单步测试 感觉初始化没有问题 但是 就是USBH_Process(&USB_OTG_Core, &USB_Host);这个函数      返回值是USBH_BUSY 进去之后返回值一直是USBH_FAIL   趁着您晚上可能会看 把最新的情况说一下
回复 支持 反对

使用道具 举报

120

主题

7878

帖子

13

精华

资深版主

Rank: 8Rank: 8

积分
12012
金钱
12012
注册时间
2013-9-10
在线时间
427 小时
 楼主| 发表于 2018-3-24 00:21:49 | 显示全部楼层
晨晨沉 发表于 2018-3-23 18:57
另外我单步测试 感觉初始化没有问题 但是 就是USBH_Process(&USB_OTG_Core, &USB_Host);这个函数      返 ...

busy的话,重启看下什么情况
现在,程序把烂铜烂铁变得智能化了,人呢,一旦离开了这烂铜烂铁就不知道干啥了
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

新手上路

积分
29
金钱
29
注册时间
2016-9-21
在线时间
5 小时
发表于 2018-6-14 19:52:44 | 显示全部楼层
STM32作为主机能不能读取CP2102串口转换的USB设备呢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-6-11 07:19

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表