2012-07-05 05:17 AM
hi
STM32 experts, i am using stm32f107 usb-otg interface, and an function is virtual com port,i.e. receive UART data then send to PC go through usb-otg interface,i am using VCP_V1.3.1_Setup.exe driver that installed on PC, and the usg-otg lib is STM32_USB-FS-Device_Driver 3.3.0). The problem is I using USB_SIL_WRITE(EP1_IN,buff,len) funtion to send received data to PC periodically, and the OTGD_FS_Handle_InEP_ISR interruption function will be called when usb tx traffic completed. This fucntion can run very well about 10min or more longer, but it will not produce OTGD_FS_Handle_InEP_ISR interrupt anymore at some times,i.e.after USB_SIL_WRITE, usb-otg not produce any interruption about completed, or time-out,error or something else. This function work well on STM32103 not otg inteface. Brs, #stm32-usb-otg2012-07-07 03:31 AM
the problem have resolved. It caused by setting otg interruption priority lower than UART,and now i set ogt is the highest one.
so it means if stm32f10x usb-otg interruption interrupted by another higher one, it will not enter interruption anymore. ST need check this problem :p2012-07-07 09:43 AM
I guess it would depend a lot on what you're doing in the USART IRQ, and how tight the service window is for the OTG IRQ.
You might want to try the March 2012 library to see if any outstanding issues were addressed. You might also want to fashion an example project which demonstrates the failure mode, this is the usual manner in which you get silicon vendors to confirm and address issues with the chip or supporting software. Deliver that to your ST rep or FAE.