问题1: FreeRTOS为操作系统,STM32F429为主机,对U盘进行读写。有时候会出现:U盘插入时,会出现系统停止运行,把U盘拔出来,系统又可以正常运行。此现象出现之后,只有系统复位之后才会消失,不如现象一直存在。(此现象出现的概率也较小),U盘中断级别为5,改U盘中断级别为8或者9之后,现象依旧会出现。我用的USB库是3.1.0的版本
问题2:因为之前不支持U盘热插拔,所以我有改USB中断里面的底层:
static void HCD_Port_IRQHandler(HCD_HandleTypeDef *hhcd)
{ ... .... if( hprt0 & USB_OTG_HPRT_PCDET==USB_OTG_HPRT_PCDET)
{ //USB_MASK_INTERRUPT(hhcd->Instance,USB_OTG_GINTSTS_DISCINT);
HAL_HCD_Connect_Callbcak(hhcd); } .... } 屏蔽掉了USB_MASK_INTERRUPT(hhcd->Instance,USB_OTG_GINTSTS_DISCINT)就支持热插拔了。。。 |