STM32/STM8技术论坛
直播中

庞晓瑜

8年用户 174经验值
私信 关注
[问答]

请问如何在STM32F407的USB_MSC例程上实现USB_OTG_FS与PC之间的bulk模式传输数据

本人利用cube生成的USB_MSC(设备模式)的工程,如何在STM32F407的USB_MSC例程上修改以实现USB_OTG_FS与PC之间的bulk模式传输数据,请做过的大侠指导一下~

回帖(10)

庞晓瑜

2019-2-14 07:07:27
金币不多,希望做过的大侠可以指导一下~
举报

王桂花

2019-2-14 07:26:58
又OTG,又PC。请问,你是要做Host/Device哪一种?
举报

庞晓瑜

2019-2-14 07:32:35
引用: filipposun 发表于 2019-2-14 14:41
又OTG,又PC。请问,你是要做Host/Device哪一种?

做设备,只要实现和PC的bulk模式传输数据就行,就是用USB的FS模式和PC之间通信
举报

潘础功

2019-2-14 07:39:11
不太懂,支持一下
举报

庞晓瑜

2019-2-14 07:50:34
引用: 萌的想要飞 发表于 2019-2-14 14:53
不太懂,支持一下

谢了,希望得到更多人的支持
举报

邢待湘

2019-2-14 08:08:15
正在学习stm32 USB希望楼主早点搞出来分享下
举报

李悠冉

2019-2-14 08:20:30
可以先修改协议部分,也就是在u***d_msc_core.c中的 0x08,   /* bInterfaceClass: MSC Class */
  0x06,   /* bInterfaceSubClass : SCSI transparent*/
  0x50,   /* nInterfaceProtocol */修改为0ff,0ff,0ff,自定义的设备,然后还有其他的··········
举报

李悠冉

2019-2-14 08:30:33
然后在修改主函数部分可以调用u***d_msc_bot.c中的static void  MSC_BOT_SendData(USB_OTG_CORE_HANDLE  *pdev,
                              uint8_t* buf,
                              uint16_t len)来发送发送数据 ,接收数据在u***_dcd.c中的uint32_t   DCD_EP_PrepareRx( USB_OTG_CORE_HANDLE *pdev,
                            uint8_t   ep_addr,
                            uint8_t *pbuf,                        
                            uint16_t  buf_len)
    来接收数据··················
举报

李海玮

2019-2-14 08:44:52
这个不是很懂但是能帮你顶
举报

郝汉

2019-2-14 09:00:03
一般是在cdc类基础上改为自定义类,传输改为批量。驱动也要改
举报

更多回帖

发帖
×
20
完善资料,
赚取积分