[STM32F4] F4 HAL库USB 多包数据传输

[复制链接]
1808|38
tian111 发表于 2023-2-25 18:22 | 显示全部楼层
还没有遇到过这种错误
biechedan 发表于 2023-5-14 20:36 | 显示全部楼层
如何使用STM32的USB非控制端点发送多个数据包
51xlf 发表于 2023-5-14 21:02 | 显示全部楼层
在hal库中usbh_core.c是干什么用的
pixhw 发表于 2023-5-14 21:17 | 显示全部楼层
定义了一个USB_SendData()函数用于发送多个数据包,以及一个USB_ReceiveData()函数用于接收多个数据包。在USB_SendData()函数中,我们使用循环对数据进行分包并进行发送;在USB_ReceiveData()函数中,我们使用USBD_CDC_GetRxBufferLength()函数获取已接收的数据包长度,并在处理完数据后使用USBD_CDC_ReleaseRxBuffer()函数释放接收缓冲区。
jimmhu 发表于 2023-5-14 21:36 | 显示全部楼层
神使用HAL库进行STM32F4  USB IAP么
MessageRing 发表于 2023-5-14 22:37 | 显示全部楼层
这个问题是如何解决的啊?
plsbackup 发表于 2023-5-18 16:13 | 显示全部楼层
使用USBD_Init()函数初始化USB接口,并配置设备描述符、端点等信息。需要注意的是,要选择支持Bulk数据传输的设备类型。
daichaodai 发表于 2023-5-18 19:38 来自手机 | 显示全部楼层
连续发,有可能会掉包,应该加一个判断。
eefas 发表于 2023-5-21 09:56 | 显示全部楼层
使用USBD_LL_OpenEP()函数打开Bulk数据端点,并设置其相关参数,例如传输方向、最大包长度等。可以使用USBD_MAX_PACKET_SIZE_EPx宏定义来指定各个端点的最大包长度。
beacherblack 发表于 2023-5-21 11:45 | 显示全部楼层
HAL库里面没有找到相应的回调函数。
ccook11 发表于 2023-5-21 12:07 | 显示全部楼层
使用USBD_Init()函数初始化USB接口,并配置设备描述符、端点等信息。需要注意的是,要选择支持Bulk数据传输的设备类型。
saservice 发表于 2023-5-21 12:32 | 显示全部楼层
在程序中编写Bulk数据传输函数,用于发送或接收多个数据包。如果需要发送多个数据包,则可以使用循环进行发送,并在每次发送时检查是否有剩余数据需要发送,如果有则将剩余数据打包成一个新的数据包发送。如果需要接收多个数据包,则可以设置回调函数,在每次接收到数据包后对数据进行处理。
cashrwood 发表于 2023-5-21 15:40 | 显示全部楼层
stm32很多系列的芯片都带usb接口,而且cubemx也能生成多种功能的usb初始化代码,使得一般用户可以不用关注usb底层复杂的实现方式,直接使用HAL函数就能方便地实现usb通信。
sanfuzi 发表于 2023-5-21 16:49 | 显示全部楼层
在使用Bulk数据端点传输多个数据包时,要确保每个数据包的大小不超过端点最大包长度,并且对于接收端来说,需要在处理完一个数据包后及时释放接收缓冲区。
理想阳 发表于 2023-5-24 16:07 | 显示全部楼层
hid默许用间断传输,每一一次主机过来轮询最快也要1ms
digit0 发表于 2023-5-25 16:05 | 显示全部楼层
可以看到包含数量大吗
AIsignel 发表于 2023-5-25 17:26 | 显示全部楼层
需要批量传输方式
Jacquetry 发表于 2023-5-25 22:30 | 显示全部楼层
传输速度怎么样啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 在线客服 返回列表 返回顶部