完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我使用 STM32H750官方的VCP例程,FS模式。
程序默认CDC_DATA_FS_MAX_PACKET_SIZE是64位,我试着修改最大只能到256,如果再大会导致接收不到数据。芯片资料MPSIZ设置范围可以到2047。 我想提高数据包大小应该怎么修改 |
|
相关推荐
1个回答
|
|
要提高STM32H750官方VCP例程的数据包大小,您需要进行以下步骤:
1. 修改CDC_DATA_FS_MAX_PACKET_SIZE宏定义:首先,您需要找到定义CDC_DATA_FS_MAX_PACKET_SIZE的文件。这个宏定义通常在项目的头文件中,例如stm32h750xx.h或类似名称的文件。将CDC_DATA_FS_MAX_PACKET_SIZE的值修改为所需的大小,例如1024。 ```c #define CDC_DATA_FS_MAX_PACKET_SIZE 1024 ``` 2. 修改USB核心配置:在USB设备堆栈的配置文件中(例如usbd_cdc.h),找到与数据包大小相关的宏定义,例如wMaxPacketSize。将此宏定义的值修改为与CDC_DATA_FS_MAX_PACKET_SIZE相同的值。 ```c #define USBD_CDC_EP_MPS USBD_BULK_MAX_PACKET_SIZE ``` 3. 修改USB设备描述符:在USB设备描述符文件中(例如usbd_desc.c),找到与端点相关的描述符,例如USB_ENDPOINT_DESCRIPTOR。将wMaxPacketSize字段的值修改为与CDC_DATA_FS_MAX_PACKET_SIZE相同的值。 ```c 0x07, 0x05, 0x80 | 0x02, 0x02, (CDC_DATA_FS_MAX_PACKET_SIZE & 0x07FF), ((CDC_DATA_FS_MAX_PACKET_SIZE >> 11) & 0x03) ``` 4. 修改USB设备堆栈:在USB设备堆栈的源文件中(例如usbd_cdc.c),找到与数据包大小相关的函数,例如USBD_CDC_SetRxBuffer()和USBD_CDC_ReceivePacket()。将这些函数中的数据包大小参数修改为与CDC_DATA_FS_MAX_PACKET_SIZE相同的值。 ```c void USBD_CDC_SetRxBuffer(USBD_HandleTypeDef *pdev, uint8_t *pbuff, uint32_t length) { pdev->dev.pClassData->pRxBuff = pbuff; pdev->dev.pClassData->RxBuffLen = length; } uint8_t USBD_CDC_ReceivePacket(USBD_HandleTypeDef *pdev) { uint32_t USBD_CDC_MAX_PACKET_SIZE = CDC_DATA_FS_MAX_PACKET_SIZE; ... } ``` 5. 重新编译和下载固件:完成上述修改后,重新编译项目并下载到STM32H750开发板。 6. 测试:在提高数据包大小时,请确保您的PC端应用程序也支持接收更大的数据包。测试数据传输功能,确保数据包大小已正确增加。 请注意,增加数据包大小可能会影响USB通信的性能和稳定性。在实际应用中,请根据您的需求和硬件性能进行调整。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1801 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1629 浏览 1 评论
1096 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
735 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1684 浏览 2 评论
1944浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
745浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
580浏览 3评论
602浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
565浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-27 16:12 , Processed in 1.030957 second(s), Total 45, Slave 39 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号