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

mBed USBMSD 疑问

[复制链接]
caxfan 提问时间:2019-3-17 01:03 /
本帖最后由 caxfan 于 2019-3-17 20:57 编辑

STM32F407VE板子使用mbed无OS开发SDIOBlockDevice时,参考例程编译成功,但是SD盘没有出现:
1.出现 USB大容量存储设备 2.其它设备->#的设备
使用USBlyzer监测发现
[url=]代码[/url]

[url=][/url]
[url=][/url]

[url=][/url]


BulkIn端点应答明显错误
查看程序USBMSD.cpp
bool USBMSD::inquiryRequest (void) {
    uint8_t inquiry[] = { 0x00, 0x80, 0x00, 0x01,
                          36 - 4, 0x80, 0x00, 0x00,
                          'M', 'B', 'E', 'D', '.', 'O', 'R', 'G',
                          'M', 'B', 'E', 'D', ' ', 'U', 'S', 'B', ' ', 'D', 'I', 'S', 'K', ' ', ' ', ' ',
                          '1', '.', '0', ' ',
                        };
    if (!write(inquiry, sizeof(inquiry))) {
        return false;
    }
    return true;
}

bool USBMSD::write (uint8_t * buf, uint16_t size) {
    if (size >= cbw.DataLength) {
        size = cbw.DataLength;
    }
    stage = SEND_CSW;
    if (!writeNB(EPBULK_IN, buf, size, MAX_PACKET_SIZE_EPBULK))
{
        return false;
    }
...}
writeNB->endpointWrite->HAL_PCD_EP_Transmit->USB_EPStartXfer
而stm32f4xx_||_usb.c中USB_EPStartXfer函数
    if (ep->type == EP_TYPE_ISOC)
    {
      USB_WritePacket(USBx, ep->xfer_buff, ep->num, ep->xfer_len, dma);   
    }
即端点类型是   EP_TYPE_ISOC才发送ep->xfer_buff即上面inquiry字符串
write函数里是EPBULK_IN发送,该端点类型是EP_TYPE_BULK型,也就是说inquiry字符串不能被发送.
这个问题如何解决,请大侠帮忙,谢谢!
1.jpg
2.jpg
3.jpg
收藏 评论4 发布时间:2019-3-17 01:03

举报

4个回答
butterflyspring 回答时间:2019-4-24 12:12:05
这个问题看起来信息量比较大,建议你参考一下官方的例程,STM32Cube_FW_F4_V1.24.0\Projects\STM324xG_EVAL\Applications\USB_Device\MSC_Standalone   如果是你需要的功能可以参照一下

评分

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

查看全部评分

xdwdf 回答时间:2019-4-28 20:00:47
谢谢资料
caxfan 回答时间:2019-5-5 23:44:12
发现问题
是源程序有bug
uint8_t inquiry[]必须声明为static变量或全局变量
xmshao 回答时间:2019-5-10 16:07:39
caxfan 发表于 2019-5-5 23:44
发现问题
是源程序有bug
uint8_t inquiry[]必须声明为static变量或全局变量 ...

谢谢反馈!

所属标签

相似问题

官网相关资源

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