OpenEdv-开源电子网

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

USB复合设备 compsite求助

[复制链接]

71

主题

152

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
247
金钱
247
注册时间
2014-1-1
在线时间
222 小时
发表于 2022-10-24 18:19:45 | 显示全部楼层 |阅读模式
300金钱
本帖最后由 nmgbtzyf 于 2022-10-24 21:17 编辑

哪个兄弟能帮下,把MSC+CDD给搞一下,搞了好几天了,下载好多代码都不行,有一些是HAL库,在CDSN花钱下的,也不行,要不就是型号不对,移植搞的乱套了,这难度实在有点大
有没有人给帮个,这一块真的搞不了,有没有大神帮一下,找了好多有一个是华大的,比效对上号就是型号不对,搞了半天也不行移植错的没影了

USBK9F1安来 OK.zip

378.85 KB, 下载次数: 12

HC32F460_WINUSB_MSC.zip

1.14 MB, 下载次数: 14

正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

32

主题

183

帖子

0

精华

高级会员

Rank: 4

积分
617
金钱
617
注册时间
2013-1-16
在线时间
131 小时
发表于 2022-10-25 13:24:22 | 显示全部楼层
首先你要说下你使用的芯片,然后说明做主机还是从机。估计你这发出来应该没有人理
回复

使用道具 举报

2

主题

62

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
473
金钱
473
注册时间
2019-8-20
在线时间
147 小时
发表于 2022-10-25 15:51:21 | 显示全部楼层
如附件图
提问的代价.png
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165309
金钱
165309
注册时间
2010-12-1
在线时间
2108 小时
发表于 2022-10-26 00:23:13 | 显示全部楼层

可以可以。。。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

71

主题

152

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
247
金钱
247
注册时间
2014-1-1
在线时间
222 小时
 楼主| 发表于 2022-10-26 11:00:55 来自手机 | 显示全部楼层
stm32f407zgt6  usb cdc 高速传输+msc 模拟U盘还有什么要求?
回复

使用道具 举报

2

主题

446

帖子

0

精华

论坛元老

Rank: 8Rank: 8

积分
4133
金钱
4133
注册时间
2018-5-14
在线时间
902 小时
发表于 2022-10-26 12:22:28 | 显示全部楼层
nmgbtzyf 发表于 2022-10-26 11:00
stm32f407zgt6  usb cdc 高速传输+msc 模拟U盘还有什么要求?

首先,你电脑上枚举成功没,没有枚举成功检查是不是描述符的问题,先不做复合设备,把两个都跑通,然后再组合下以配置描述符-MSC接口描述符-MSC的所有端点描述符-CDD接口描述符-CDD的所有端口描述符发送,看电脑能不能识别
回复

使用道具 举报

2

主题

62

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
473
金钱
473
注册时间
2019-8-20
在线时间
147 小时
发表于 2022-10-26 16:12:08 | 显示全部楼层
主控:STM32F103C8T6
USB Device CDC + MSC的组合设备
MSC由W25Q128模拟

F103C8_CDC_MSC.zip

890.83 KB, 下载次数: 43

回复

使用道具 举报

71

主题

152

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
247
金钱
247
注册时间
2014-1-1
在线时间
222 小时
 楼主| 发表于 2022-10-26 20:11:22 来自手机 | 显示全部楼层
分开的源码都下载现成了。  早就测试通过了。但是从来没组合过,所以有一些不会。过几次都不行,有时候连编译都不通过。还有103。我也有。但在移直在上,我从来就没成功过。主要是编译通过总是有各式各样的问题。看哪个师傅?我得帮忙搞一下。
回复

使用道具 举报

3

主题

38

帖子

0

精华

高级会员

Rank: 4

积分
509
金钱
509
注册时间
2016-12-1
在线时间
106 小时
发表于 2022-10-27 08:23:06 | 显示全部楼层
记号下,复合设备,上次再linux上没成功
回复

使用道具 举报

69

主题

269

帖子

0

精华

高级会员

Rank: 4

积分
974
金钱
974
注册时间
2014-7-4
在线时间
236 小时
发表于 2023-7-19 10:15:08 | 显示全部楼层
本帖最后由 freewayflyer 于 2023-7-19 11:03 编辑
35号技师 发表于 2022-10-26 16:12
主控:STM32F103C8T6
USB Device CDC + MSC的组合设备
MSC由W25Q128模拟

我参照着移植到L4系列上,单独CDC发送正常,做成复合设备后进USBD_BUSY,可能是什么原因?(cubemx版本不一样,生产的发送函数有点区别,主要是有hcdc->TxState判断)
  1. uint8_t CDC_Transmit_FS(uint8_t* Buf, uint16_t Len)
  2. {
  3.   uint8_t result = USBD_OK;
  4.   /* USER CODE BEGIN 7 */
  5.   USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef*)hUsbDeviceFS.pClassData;
  6.   if (hcdc->TxState != 0){
  7.     return USBD_BUSY;
  8.   }
  9.   USBD_CDC_SetTxBuffer(&hUsbDeviceFS, Buf, Len);
  10.   result = USBD_CDC_TransmitPacket(&hUsbDeviceFS);
  11.   /* USER CODE END 7 */
  12.   return result;
  13. }
复制代码

下边是你的程序里的发送函数
  1. uint8_t CDC_Transmit_FS(uint8_t* Buf, uint16_t Len)
  2. {
  3.   uint8_t result = USBD_OK;
  4.   /* USER CODE BEGIN 7 */
  5.         
  6.   USBD_CDC_HandleTypeDef *hcdc = (USBD_CDC_HandleTypeDef *)hUsbDeviceFS.pClassData;

  7.   hcdc->TxState = 0;

  8.   USBD_CDC_SetTxBuffer(&hUsbDeviceFS, Buf, Len);
  9.   result = USBD_CDC_TransmitPacket(&hUsbDeviceFS);
  10.         
  11.   /* USER CODE END 7 */
  12.   return result;
  13. }
复制代码
复合设备.png
回复

使用道具 举报

69

主题

269

帖子

0

精华

高级会员

Rank: 4

积分
974
金钱
974
注册时间
2014-7-4
在线时间
236 小时
发表于 2023-7-20 15:07:46 | 显示全部楼层
最后整出来了吗?我的主要卡在CDC发数据上有问题,发几条就停   接收正常
回复

使用道具 举报

5

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
132
金钱
132
注册时间
2019-12-2
在线时间
27 小时
发表于 2023-10-24 16:41:26 | 显示全部楼层
有整出来吗?cdc发几条就停了。。。
回复

使用道具 举报

2

主题

12

帖子

0

精华

初级会员

Rank: 2

积分
64
金钱
64
注册时间
2021-10-19
在线时间
15 小时
发表于 2024-2-1 14:32:51 | 显示全部楼层
同样的问题
回复

使用道具 举报

0

主题

3

帖子

0

精华

新手入门

积分
5
金钱
5
注册时间
2024-7-8
在线时间
1 小时
发表于 2024-7-8 11:40:44 | 显示全部楼层
35号技师 发表于 2022-10-26 16:12
主控:STM32F103C8T6
USB Device CDC + MSC的组合设备
MSC由W25Q128模拟

不错不错,谢谢啦。
回复

使用道具 举报

5

主题

37

帖子

0

精华

初级会员

Rank: 2

积分
132
金钱
132
注册时间
2019-12-2
在线时间
27 小时
发表于 2024-7-11 20:02:35 | 显示全部楼层
MSC事件会更新掉pdev->classId导致的异常,cdc发送接口可以参照下改法,重新更新下pdev->classId
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-22 12:36

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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