|
问题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)就支持热插拔了。。。 FAQ:https://www.stmcu.org.cn/faq/index/detail/id-70593 |
微信公众号
手机版
小哥,别打击我,我是随便猜的啊,我啥也不懂!
貌似可能有这种情况。。。我现在U盘的VBUS引脚是直接5V供电的,如果5V有干扰的话,是否就会引起这种情况?
哎呀。。。遇到这种问题最纠结了。。。偶尔出现。。。