Я работал над созданием файловой системы на SD-карте для встроенной системы, построенной на серии stm32f2.
Я планирую сохранить некоторые важные переменные в файле на SD-карте, чтобы они могли бытьчитать во время запуска, а что нет.
Я играл с именами папок, как я видел на SD-карте с моей автомобильной видеорегистратора.Например, у этого есть папка с именем "config".
Моя идея состояла в том, чтобы создать папку с именем ".config", но по некоторым неизвестным причинам это не будет работать.
Затем я создал папкуназывается ".ini", внутри которого находится текстовый файл.Мой тестовый код ниже:
SD_CreateFolder("device log");
HAL_Delay(10);
SD_CreateFolder(".ini");
HAL_Delay(10);
Оба они успешны, и они действительно отображаются на SD-карте.
Я также могу записать текстовый файл в папку ".ini", показанный ниже:
if(SD_WriteAppend(&myFILE, ".ini/test.txt", logMsg, logLength, &myBytes)==FR_OK){
HAL_UART_Transmit(&huart2, (uint8_t*)"Log save success!\r\n", strlen("Log save success!\r\n"), MAX_TIMEOUT);
}
else{
HAL_UART_Transmit(&huart2, (uint8_t*)"Failed to add log!\r\n", strlen("Failed to add log!\r\n"), MAX_TIMEOUT);
}
Обратите внимание, что расположение записываемых данных - это «.ini / test.txt».
Я могу написать в этот текст все, что захочудокумент без каких-либо проблем И я могу прочитать его обратно, используя мой микроконтроллер и последовательный терминал.
Что я не понимаю, так это то, что я не могу открыть папку ".ini" в Windows.https://i.stack.imgur.com/2oDDV.png
Однако все данные, которые записываются в текстовый файл в этой папке, могут быть прочитаны на микроконтроллере (обратите внимание, что любая «ошибка» является преднамеренной, я записал их в текстовый файл):
https://i.stack.imgur.com/sBore.png
Мой вопрос после всего этого бессвязного: почему Windows не может получить доступ, переименовать, удалить, переместить и т. Д. В эту папку ".ini"?Я предполагаю, что он думает, что папка на самом деле является файлом ".ini", а НЕ папкой, поэтому он читает его как папку.
Может ли такая стратегия использоваться, чтобы люди не могли изменить какие-либо файлы внутрипапка с именем ".ini" или это не рекомендуется?
Спасибо всем за потраченное время !!!