问答

汇集网友智慧,解决技术难题

arikadogenya

TA的家园币:56  

  • 请问关于GD32/STM32 USB MSC模式读写U盘失败之后的处理方式

    各位好。在使用GD32F450和fatfs进行USBMSC长时间读写(每0.5s写入约4K字节),每写入120次关闭文件后新建另外一个文件,期间只f_sync,不关闭。可以持续运行若干小时,若干小时后会出现f_write写入错误,返回之后发现错误发生在usb底层的读写出错,出现在usbh_msc_write中。出现错误的时间不确定,可能与U盘有关。出错之后处理方式如下:1.关闭文件建立新文件,无法写入。2.文件系统取消挂载之后再挂载失败,无法继续。3.关掉USB线程,重启线程(经历从USB的IO、USB定时器、USB中断、USBMSC的IPcore全部重新初始化,和复位后差不多),USB状态机无法继续运行(一直停留在0的状态,拔插U盘也无法激活状态切换)。请问呢下各位有什么好的处理方式么?除了复位整个MCU以外,即使是复位USB硬件也是可以接受的,或者用软件模拟拔插一次U盘也是可以的。谢谢。

    GD32

    2022-12-13 1
  • GD32E505的USB MSC问题,救急

    //抱歉,已经在GD32版重新发了,不好意思官方给的USBMSC历程中\GD32E50x_Firmware_Library_V1.2.2\Examples\USBHS\usb_host\usb_host_msc_udisk是基于GD32E507Z的,而GD32E505和GD32E507中相关外设有很多不一样的地方,如E507中,USB全局中断为USBHS_IRQ,而E505中没有这个中断,相关的有USBD_LP_CAN0_RX0_IRQ和USBD_HP_CAN0_TX_IRQ,另外,在E507中,PLL的设置也不一样,所以移植起来比较困难。目前移植中过来编译通过了,但是拆入U盘没有反应,官方关于USB库中有用的说明很少,请问哪位有可以供参考的历程或资料么?不胜感激。

    GD32E50x USB MSC GD32 HS

    2022-05-24 0