[STM32F2] USB MSC USBH_MSC_Read10一直返回USBH_MSC_BUSY

[复制链接]
 楼主| zhenxizhou 发表于 2015-11-10 19:48 | 显示全部楼层 |阅读模式
现在在搞U盘IAP,STM32F207,用的官方2.1.0库,USE_USB_OTG_FS,8M外接晶振
在MDK的设置里面已经把Xtal从25改为8MHz
代码里面也把HSE_VALUE改为8M,PLL_M改为8
碰到2个问题:
1,OTG_FS_IRQHandler有时能进,大多数情况下进不了,重启十次大概能进一次
2,在中断函数能进去的情况下,USBH_MSC_Read10一直返回USBH_MSC_BUSY,死循环。原因是USBH_MSC_Read10里USBH_MSC_BOTXferParam.CmdStateMachine即不是CMD_SEND_STATE,也不是CMD_WAIT_STATUS,直接走的是default分支
搞了好两天了,没什么头绪,求大神指点。
谢谢
643757107 发表于 2015-11-10 19:54 | 显示全部楼层
这个思路就是烧录一段代码,当插入U盘后识别关键词,然后获取版本代码,如果跟本系统的版本代码不同或者要求版本更高就开始读取,然后写入指定的地址段。
643757107 发表于 2015-11-10 19:55 | 显示全部楼层
读取的标志位一直是忙的,那么是不是初始化时候要清除该标志位才行呢
 楼主| zhenxizhou 发表于 2015-11-11 14:35 | 显示全部楼层
谢谢楼上的回答, 我的问题不是如何实现IAP, 而是为什么有时候不会中断, 还有怎么解决USBH_MSC_BUSY死循环问题
天灵灵地灵灵 发表于 2015-11-11 16:50 | 显示全部楼层
需要知道那个标志位是干啥用的,是不是需要初始化的时候清理一下。
 楼主| zhenxizhou 发表于 2015-12-16 14:44 | 显示全部楼层
1、编译器版本问题;
2、时钟问题。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

37

主题

76

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部

37

主题

76

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部