完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
我使用 STM32H750官方的VCP例程,FS模式。
程序默认CDC_DATA_FS_MAX_PACKET_SIZE是64位,我试着修改最大只能到256,如果再大会导致接收不到数据。芯片资料MPSIZ设置范围可以到2047。 我想提高数据包大小应该怎么修改 |
|
相关推荐
1个回答
|
|
你说根据芯片资料里相关寄存器MPSIZ字段定义,范围可以到2047,该字段共11位,数字上讲没错。但是,它是针对芯片USB端点所支持数据包长的泛泛定义,具体数据还要结合USB的速度模式和端点传输模式。
对于FS模式批量传输端点,这里最大仅支持到64,即一个数据包的最大数据载荷为64字节。如果需要传输更多的数据就需要进行多包传输,或说多次Transaction。 所以你这里不用改例程的这个地方,这个64此时应该是固定的。 你要做的是根据可能的一次性数据传输量修改你的接收缓冲大小,然后在接收处理函数里根据每次的接收数据是一整包还是非整包来进行处理。如果是整包,就 继续往下接收,如果收到非整包数据或0字节数据则视为此次接收完成。当然,这里的整包数据就是64字节长度的数据包。这些可能都需要你自行处理。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
2373 浏览 0 评论
STM32配合可编程加密芯片SMEC88ST的防抄板加密方案设计
1257 浏览 0 评论
3206 浏览 1 评论
AD7686芯片不传输数据给STM32,但是手按住就会有数据。
2977 浏览 4 评论
5546 浏览 0 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-23 09:01 , Processed in 0.576572 second(s), Total 78, Slave 59 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号