本人在做U盘升级程序, 用的是USB IAP程序 (STM32F105_107_AN3354_FW_V1.0.0)
在读优盘枚举过程中 进到如下中断中,察看datasheet 说是发生如下错误:CRC校验失败/超时/位填充错误/EOP失败
请问有哪些原因导致发生该错误呢?
uint32_t USB_OTG_USBH_handle_hc_n_Out_ISR (USB_OTG_CORE_HANDLE *pdev , uint32_t num)
{
USB_OTG_HCINTn_TypeDef hcint;
USB_OTG_HCGINTMSK_TypeDef hcintmsk;
USB_OTG_HC_REGS *hcreg;
USB_OTG_HCCHAR_TypeDef hcchar;
hcreg = pdev->regs.HC_REGS[num];
hcint.d32 = USB_OTG_READ_REG32(&hcreg->HCINT);
hcintmsk.d32 = USB_OTG_READ_REG32(&hcreg->HCGINTMSK);
hcint.d32 = hcint.d32 & hcintmsk.d32;
...
else if (hcint.b.xfercompl)
{ 正常应该进到这里}
else if (hcint.b.xacterr)
{ 但是却进到这里}
}
|