murmur 0 14 марта, 2021 Опубликовано 14 марта, 2021 · Жалоба Проект для STM32H743, генерированный столь нелюбимым всеми калоКубом. Вроде бы раньше у меня получалось отдельно запускать SD и отдельно USB. А вот вместе - никак..... Железо инициализируется без проблем. Проблемы начинаюся в FATFS. Вот я (а точнее, не я, а любезный калокуб) инициализирую FatFS под два носителя void MX_FATFS_Init(void) { /*## FatFS: Link the SD driver ###########################*/ retSD = FATFS_LinkDriver(&SD_Driver, SDPath); /*## FatFS: Link the USBH driver ###########################*/ retUSBH = FATFS_LinkDriver(&USBH_Driver, USBHPath); /* USER CODE BEGIN Init */ /* additional user code for init */ /* USER CODE END Init */ } Когда USB драйвер полностью инициализирует все необходимое для работы с флешкой, пишу вот это if (f_mount(&USBH_fatfs, (TCHAR const*)USBHPath, 0) != FR_OK) { sprintf((char *)MSC_str, "Cannot Initialize FatFs! \r\n "); HAL_UART_Transmit(&huart7, MSC_str, strlen((char *)MSC_str), 3000); } else { sprintf((char *)MSC_str, "INFO : FatFs Initialized \r\n "); HAL_UART_Transmit(&huart7, MSC_str, strlen((char *)MSC_str), 3000); res=f_open(&MyFile, "0:/USBHost.txt", FA_CREATE_ALWAYS | FA_WRITE); if (res != FR_OK) { sprintf((char *)MSC_str, "Cannot Open 'USBHost.txt' file \r\n "); /// Брейкпоинт срабатывает здесь, выдает ошибку FR_NOT_ENABLED HAL_UART_Transmit(&huart7, MSC_str, strlen((char *)MSC_str), 3000); } FR_NOT_ENABLED - вроде как ошибка буквы диска. Меняю вызов файла 0:/USBHost.txt на 1:/USBHost.txt Получаю там же другую ошибку - FR_NO_FILESYSTEM В другом месте есть работавший ранее с SD код CurrentPath="0:/"; if (f_mount(&fileSystem, "", 0) == FR_OK) { res = f_opendir(&dir, CurrentPath); files_found=0; res = f_readdir(&dir, 0); while(1) { res = f_readdir(&dir, &fileInfo); if (res==FR_OK && fileInfo.fname[0]) { files_found++; } else break; } } Там уже другая ошибка - FR_INVALID_OBJECT Что не так? Я даже не могу понять, что какие диски (0:\ и 1:\) чему соответствуют - что относится к USB, а что к SD. Где это задается? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
mantech 40 14 марта, 2021 Опубликовано 14 марта, 2021 · Жалоба 28 минут назад, murmur сказал: Я даже не могу понять, что какие диски (0:\ и 1:\) чему соответствую Как-то не "по-нашенски" задавать имена дисков 0 и 1, куда приятнее A и B Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
murmur 0 14 марта, 2021 Опубликовано 14 марта, 2021 · Жалоба 34 minutes ago, mantech said: Как-то не "по-нашенски" задавать имена дисков 0 и 1, куда приятнее A и B Возможно, но с 0 и 1 работало. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться