大家好、
我有一个非 tirtos 项目、它使用 fatfs 函数、如 find_first 等、在大容量存储设备上查找文件。
现在、我将代码移植到 TIRTOS、在设置将读取 USB 的任务时遇到一些问题。
我可以连接到 USB、但是在示例工程上使用的 stdio.h 上的操作不足以提供所需的功能。
有没有一个直接使用 ff.h 文件的示例项目可从中学习。
谢谢、
金枪鱼
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
大家好、
我有一个非 tirtos 项目、它使用 fatfs 函数、如 find_first 等、在大容量存储设备上查找文件。
现在、我将代码移植到 TIRTOS、在设置将读取 USB 的任务时遇到一些问题。
我可以连接到 USB、但是在示例工程上使用的 stdio.h 上的操作不足以提供所需的功能。
有没有一个直接使用 ff.h 文件的示例项目可从中学习。
谢谢、
金枪鱼
您好!
在 CCS Resource Explorer 中、您可以下载使用 ff.h 文件的 FatSD Raw 示例。 您可以参考此示例、了解它如何使用 f_open、fwrite 等 请参阅下面的内容。
您好、Charles、
感谢您的快速回复。
我尝试在代码上复制该示例。 当 fopen 尝试调用 get_FATTIME()时,我将获得系统中止;
我在.cfg 文件上启用了 fatfs 模块、就像示例一样。
您对我可能遗漏的内容有什么想法吗?
这是我的 USB 初始化函数。
USBMSCHFatFs_Handle Updater_flashDriveInit(void) { static USBMSCHFatFs_Handle usbmschfatfsHandle; static USBMSCHFatFs_Params usbmschfatfsParams; static uint8_t usbServiceTaskStack[1024]; /* Mount and register the USB Drive */ USBMSCHFatFs_Params_init(&usbmschfatfsParams); usbmschfatfsParams.serviceTaskStackPtr = usbServiceTaskStack; usbmschfatfsParams.serviceTaskStackSize = sizeof(usbServiceTaskStack); usbmschfatfsHandle = USBMSCHFatFs_open(UPDATE_FLASH_DRIVE, USB_DRIVE_NUM, &usbmschfatfsParams); if (usbmschfatfsHandle == NULL) { System_abort("Error starting the USB Drive\n"); } else { System_printf("Drive %u is mounted\n", USB_DRIVE_NUM); } return usbmschfatfsHandle; }
然后调用 Wait for connect、并在找到驱动器时调用 fopen。
这是我的任务:
void Updater_usbTask(UArg arg0, UArg arg1) { static FRESULT res; static FIL fil; USBMSCHFatFs_Handle Updater_flashDrive = Updater_flashDriveInit(); while(1) { if(USBMSCHFatFs_waitForConnect(Updater_flashDrive, BIOS_NO_WAIT)) { res = f_open(&fil, "0:input.txt", FA_CREATE_NEW|FA_READ|FA_WRITE); System_printf("Found"); if(res != FR_OK) { System_printf("Error"); } while(1); } else { System_printf("Not Found"); } Task_yield(); } }
您好!
您是否调用 了 USBMSCHFatFs_init?
我个人在 TI-RTOS 环境中没有 USB FatFS 应用程序的相关经验。 您是否获得了 USB_host_msc 裸机示例、以便在没有 RTOS 的情况下工作?
以下是一些帖子、虽然这些帖子并未完成、但我希望它们提供一些指导。