STM32F4在使用全速USB发数据时如果电脑不读取 发送函数会卡住

2019-07-20 09:04发布

RT。
使用STM32F4的USB FS进行通讯。
根据官方库修改的。没有使用CUBE。用的“STM32_USB-Host-Device_Lib_V2.1.0“。采用的HID历程修改。枚举各方面都没问题。发送数据在电脑读取的情况下也正常。只是如果电脑不读取USB的话,那么
DCD_EP_Tx (pdev, HID_IN_EP, report, len);
这个函数会卡住。进入追踪发现是卡在了这一句
USB_OTG_WRITE_REG32(&pdev->regs.INEP_REGS[ep->num]->DIEPCTL, depctl.d32);
这个操作就是给DIEPCTL寄存器赋值。不知道为什么会在一个简单的赋值上卡壳。一直不走。


友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。