USBD 端点接收函数执行后数据为啥没有更新问题

[复制链接]
 楼主| 一枚学子 发表于 2024-11-14 15:05 | 显示全部楼层 |阅读模式
本帖最后由 一枚学子 于 2024-11-14 15:08 编辑

usbd_ep_rx (pudev, EP0_OUT, glEp0Buffer, req->wLength); 执行上述函数后,glEp0Buffer里边数据没有立刻更新是怎么回事?是需要设置延时等待吗
 楼主| 一枚学子 发表于 2024-11-14 15:12 | 显示全部楼层
使用USB vendor功能,使用usbd_ep_rx(pudev, EP0_OUT, Ep0Buffer, req->wLength); usb端点接收函数,从上位机发来的数据,为啥Ep0Buffer里的数据没有更新(没有接收到),是为什么?
jcky001 发表于 2024-11-14 15:13 | 显示全部楼层
异步接收导致的?
elephant00 发表于 2024-11-14 15:14 | 显示全部楼层
实现错误处理逻辑,以检查和处理USB接收错误。
cr315 发表于 2024-11-14 16:00 | 显示全部楼层
如果USB主机尚未发送数据,或者发送的数据尚未被USB硬件完全接收,那么缓冲区将不会更新。
两只袜子 发表于 2024-11-14 17:12 | 显示全部楼层
缓冲区大小不匹配
laocuo1142 发表于 2024-11-14 19:26 | 显示全部楼层
如果使用DMA来加速数据传输,需要确保DMA配置正确,并且DMA传输已完成。
flycamelaaa 发表于 2024-11-14 20:23 | 显示全部楼层
避免使用延时
grfqq325 发表于 2025-5-25 18:03 | 显示全部楼层
usbd_ep_rx() 函数的作用是启动USB端点的接收过程,它会让USB硬件准备接收数据,并将接收到的数据写入你提供的缓冲区。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

2

主题

8

帖子

0

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

2

主题

8

帖子

0

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