Подключаем к PIC18 флешку microSD
Облазил пол интернета, не могу найти пример с подключением флешки и работой с файловой системой FAT32, если есть инфа поделитесь пожалуйста.
- Реклама
Что-то более конкретное бы, и рабочее именно на PIC18, я нашел библиотеку от Чана, но там только чтение и запись уже созданных файлов, причем запись работает только в текущем размере файла, если он 1000 байт то больше 1000 в него не пишется что стремно..
- Сообщения: 120
- Зарегистрирован: Чт фев 16, 2012 15:22:06
За Чена просто обидно.
Прекрасно создает файлы.
Прекрасно создает файлы.
Код: Выделить всё
// открываем файл для записи, если получилось, пишем, нет - возможно, диск заполнен
f_open (&file1,cFileName,FA_CREATE_NEW | FA_WRITE );
fr=f_write(&file1,strPingPong.iPong,SIZE_BUFF,&p1);
после чего изменяем файл
f_sync (&file1);
- Реклама
Спасибо, но оно на асме.lawr писал(а):Может это поможет
Вот Petit_FAT_FS работает, но там ограничения которые я описал выше, а полноценный FAT_FS отказывается компилироваться ругаясь "\src_no_lcd\ff.c; 1528. bad call to typeSub()" на строчку "if (!(dp->fn[NS] & NS_LOSS) && !mem_cmp(dir, dp->fn, 11)) break; /* SFN matched? */" причем удаление этой строчки ни к чему не приводит, он начинает ругаться на другую, и что ему не нравится не понятно ведь Petit_FAT_FS он компилирует и оно работает. Стоит HI-TECH C PRO for the PIC18 MCU Family V9.80
- Сообщения: 3604
- Зарегистрирован: Пн июл 28, 2008 22:12:01
В чем и проблема. Уж сколько твердили о PRO версиях ...GFX писал(а): Стоит HI-TECH C PRO for the PIC18 MCU Family V9.80
Не про версия в два раза больший код генерит, в большинстве случаев это критично, но я проверю на обычной. Не работает и в стандартной версии. Вот архив с сайте Чена последний, как его запустить ума не приложу, выскакивает " ff.c; 1528. bad call to typeSub()" хоть ты тресни
Еще вопрос может кто знает, вот из обрезанной версии библиотеки работает функция записи pf_write(write_buf, strlen(write_buf), &rb), если только я пишу прямо так pf_write("write_buf", strlen("write_buf"), &rb) и пишет он естественно "write_buf" а не то что в буфере, буфер объявляю как положено, но из буфера ничего не пишет и воообще программа сходит с ума.
#define READ_BUFF_SIZE 256
char Buff[READ_BUFF_SIZE]={'w','r','i','t','e',' ','o','k','\r','\n',0x00};
#define READ_BUFF_SIZE 256
char Buff[READ_BUFF_SIZE]={'w','r','i','t','e',' ','o','k','\r','\n',0x00};
С функцией pf_write разобрался, она работает, просто нельзя открывать один файл и с него писать в другой) Кто б полную версию поднял все-таки 
- Сообщения: 2
- Зарегистрирован: Пт май 02, 2014 00:28:05
У меня есть проект на LCP2119, где используется 32 гиг миро сд как база данных.
проц читает с нее, записать тоже нет проблемм, но система не фат 32 а линейное бин пространство.
Типа если открыть винхексом съемный диск как образ диска.
просто бин адрес от 0 00 00 00 00 h до 7 ff ff ff ff h
Удачи.
Если надо - пиши в личку.
проц читает с нее, записать тоже нет проблемм, но система не фат 32 а линейное бин пространство.
Типа если открыть винхексом съемный диск как образ диска.
просто бин адрес от 0 00 00 00 00 h до 7 ff ff ff ff h
Удачи.
Если надо - пиши в личку.


