大家好、
我有一个非 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 的情况下工作?
以下是一些帖子、虽然这些帖子并未完成、但我希望它们提供一些指导。