H7 RL-FlashFS 外挂U盘的例子
在哪里啊? 怎么没找到呢? H7系列,我没有做,需要你参考官网的搞下,只有F4做了个:http://www.armbbs.cn/forum.php?mod=viewthread&tid=89202&extra=page%3D1
eric2013 发表于 2020-4-4 21:45
H7没有做,只有F4做了个。
原来如此, 我还以为自己眼睛不好使了. :lol
自己尝试移植了RL-FlashFS, 自己写接口函数, 结果没成功.
`dc2018 发表于 2020-4-4 21:49
原来如此, 我还以为自己眼睛不好使了.
自己尝试移植了RL-FlashFS, 自己写接口函数, 结果没成功.
二楼重新回复了下。 本帖最后由 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);
}
}
rgzdb 发表于 2020-4-4 23:15
主要注意以上几个设置:
RTE_Device.h设置,注意VBUS脚设置,根据自己板子设置,不能取消,编译会报错, ...
感谢这位网友的热心解说!:handshake
页:
[1]