硬汉嵌入式论坛

 找回密码
 立即注册
查看: 1701|回复: 5
收起左侧

H7 RL-FlashFS 外挂U盘的例子

[复制链接]

10

主题

93

回帖

123

积分

初级会员

积分
123
发表于 2020-4-4 21:27:37 | 显示全部楼层 |阅读模式
在哪里啊? 怎么没找到呢?
回复

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107778
QQ
发表于 2020-4-4 21:45:31 | 显示全部楼层
H7系列,我没有做,需要你参考官网的搞下,只有F4做了个:
http://www.armbbs.cn/forum.php?mod=viewthread&tid=89202&extra=page%3D1

回复

使用道具 举报

10

主题

93

回帖

123

积分

初级会员

积分
123
 楼主| 发表于 2020-4-4 21:49:42 | 显示全部楼层
eric2013 发表于 2020-4-4 21:45
H7没有做,只有F4做了个。

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

使用道具 举报

1万

主题

6万

回帖

10万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
107778
QQ
发表于 2020-4-4 23:08:11 | 显示全部楼层
`dc2018 发表于 2020-4-4 21:49
原来如此, 我还以为自己眼睛不好使了.
自己尝试移植了RL-FlashFS, 自己写接口函数, 结果没成功.

二楼重新回复了下。
回复

使用道具 举报

17

主题

132

回帖

183

积分

初级会员

积分
183
发表于 2020-4-4 23:15:18 | 显示全部楼层
本帖最后由 rgzdb 于 2020-4-5 14:37 编辑

主要注意以上几个设置: 捕获.JPG

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

程序中添加USBH_MSC.c
捕获1.JPG

简单测试程序如下:
__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);
  }
}

回复

使用道具 举报

10

主题

93

回帖

123

积分

初级会员

积分
123
 楼主| 发表于 2020-4-5 22:00:27 | 显示全部楼层
rgzdb 发表于 2020-4-4 23:15
主要注意以上几个设置:

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

感谢这位网友的热心解说!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2024-6-14 03:33 , Processed in 0.297755 second(s), 29 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表