:)Необходимые корректировки для FatFS, чтобы заставить его работать с Arduino Due
Первое извинение за мой плохой английский. Надеюсь, вы поймете мое письмо.
Моя цель - построить регистратор данных высокой точности (24 бит) для студенческого проекта, который хранит данные на SD-карте. Я использую Arduino Due (ATSAM3X8E) и дополнительный самодельный экран с разъемом SD-Card.
Далее я использую Atmel Studio 6.2 и библиотеки ASF «Склад SD/MMC на интерфейсе SPI» и «Файловая система FatFS».
Уже можно просто писать и читать с помощью модуля sd/mmc с помощью spi, но без файловой системы. Поэтому оборудование работает правильно.
Я полагаю, что моя ошибка может быть локализована в модуле FatFS.
В main.c я назвал следующие функции:
sd_mmc_init();
sd_mmc_check (SD_SLOT); // до этого программа работает, и я могу читать и записывать допустимые значения в окне терминала
f_mount (LUN_ID_SD_MMC_0_MEM, & fs);
// возвращает FR_OK, но, тем не менее, возможно, здесь является первым немного вина, потому что я не уверен, что я кастрированный баран выбрал правильный LUN.
- f_open (& FILE_OBJECT (символ сопз *) test_file_name, FA_CREATE_ALWAYS | FA_WRITE);
// здесь появляется FR_DISK_ERR ошибки // когда я следую за ошибки на более низкий уровень, я пришел к функциям: - chk_mounted (& путь, & dj.fs (BYTE) (режим & ~ FA_READ)); - fmt = check_fs (fs, bsect = 0); - а затем в самом низком уровне моя disk_read функция, которая является частью diskio.c (прилагается)
позже он должен следовать функции f_puts и F_CLOSE (& FILE_OBJECT); но без f_open они не могут работать.
Я приложил свой файл diskio.c, где выделен файл disk_read, который вызывает ошибку.
Я действительно надеюсь, что кто-то может мне помочь. Спасибо за все ответы и подсказки !!!
Когда я реализую это в проекте, я думаю, что добавить его либо в свой файл board.h, либо в моем случае просто прямо в компилятор проекта. –