你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

STM32F407 USB 发送数据 上位机接受不到

[复制链接]
憨客鱼 提问时间:2026-4-3 16:07 / 未解决

用的是 STM32F407 芯片 ,使用USB 和上位机通讯

在一个函数里

switch(g_stUsbGet.ucData[3])

{ case CMD_COMM_GETUSB: printf("\n Acmd 1"); HAL_Delay(60000); printf("\n cmd 1"); UsbCom_Usb_GetUsb(); break;

接受到上位机发送的数据后,然后执行相应的操作后,再返回数据,结果发现一个问题,当这个执行操作时间很长的时候,返回数据上位机接受不到了,我做了一个测试程序,只加1分钟延时,结果是一样的,

UsbCom_Usb_GetUsb(); 函数里有CDC_Transmit_FS(pData+usIndex,ucLen)函数,

当上面的 HAL_Delay(60000) 去掉的时候,上位机接受数据没有问题,但是加这个延时,上位机就接受不到了,上位机也加一个延时再收,也还是收不到,我用BUSHOUND做试验,也是一样的,无论我读数据是发送后马上去读,还是等下位机发送后再读,都是一样的结果,不知道这个是什么原因啊

收藏 评论1 发布时间:2026-4-3 16:07

举报

1个回答
fafa1 回答时间:1 分钟前

是上位机有超时时间,超时 就不接收了?或者接收直接扔掉了?

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
st-img 微信公众号
st-img 手机版