`dc2018 发表于 2020-4-4 21:27:37

H7 RL-FlashFS 外挂U盘的例子

在哪里啊? 怎么没找到呢?

eric2013 发表于 2020-4-4 21:45:31

H7系列,我没有做,需要你参考官网的搞下,只有F4做了个:
http://www.armbbs.cn/forum.php?mod=viewthread&tid=89202&extra=page%3D1

`dc2018 发表于 2020-4-4 21:49:42

eric2013 发表于 2020-4-4 21:45
H7没有做,只有F4做了个。

原来如此, 我还以为自己眼睛不好使了. :lol
自己尝试移植了RL-FlashFS, 自己写接口函数, 结果没成功.

eric2013 发表于 2020-4-4 23:08:11

`dc2018 发表于 2020-4-4 21:49
原来如此, 我还以为自己眼睛不好使了.
自己尝试移植了RL-FlashFS, 自己写接口函数, 结果没成功.

二楼重新回复了下。

rgzdb 发表于 2020-4-4 23:15:18

本帖最后由 rgzdb 于 2020-4-5 14:37 编辑

主要注意以上几个设置:

RTE_Device.h设置,注意VBUS脚设置,根据自己板子设置,不能取消,编译会报错,
如果板子没这个脚可指定到LED脚上,还能显示连接状态。


程序中添加USBH_MSC.c


简单测试程序如下:
__NO_RETURN void app_main (void *arg) {
usbStatus usb_status;               // USB status
int32_t   msc_status;               // MSC status
FILE   *f;                        // Pointer to stream object
uint8_t   con = 0U;                   // Connection status of MSC(s)

(void)arg;

printf("这是一个演示!\r\n");
usb_status = USBH_Initialize (0U);    // Initialize USB Host 0
if (usb_status != usbOK) {
    for (;;) {}                         // Handle USB Host 0 init failure
}

for (;;) {
    msc_status = USBH_MSC_DriveGetMediaStatus ("U0:");// Get MSC device status
    if (msc_status == USBH_MSC_OK) {
      if (con == 0U) {                  // If stick was not connected previously
      con = 1U;                     // Stick got connected
      msc_status = USBH_MSC_DriveMount ("U0:");
      if (msc_status != USBH_MSC_OK) {
          continue;                     // Handle U0: mount failure
      }
      f = fopen ("Test.txt", "w");    // Open/create file for writing
      if (f == NULL) {
          continue;                     // Handle file opening/creation failure
      }
      fprintf (f, "USB Host Mass Storage!中文测试!\n");
      fclose (f);                     // Close file
      msc_status = USBH_MSC_DriveUnmount ("U0:");
      if (msc_status != USBH_MSC_OK) {
          continue;                     // Handle U0: dismount failure
      }
      }
    } else {
      if (con == 1U) {                  // If stick was connected previously
      con = 0U;                     // Stick got disconnected
      }
    }
    osDelay(100U);
}
}

`dc2018 发表于 2020-4-5 22:00:27

rgzdb 发表于 2020-4-4 23:15
主要注意以上几个设置:

RTE_Device.h设置,注意VBUS脚设置,根据自己板子设置,不能取消,编译会报错, ...

感谢这位网友的热心解说!:handshake
页: [1]
查看完整版本: H7 RL-FlashFS 外挂U盘的例子