Отговори на тема  [ 3 мнения ] 
Въпрос за библиотека SD/MMC FlashFile на PRIIO 
Автор Съобщение
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Пон Яну 16, 2006 5:20 pm
Мнения: 122
Местоположение: гр. Горна Оряховица
Мнение Въпрос за библиотека SD/MMC FlashFile на PRIIO
Колеги,някой работил ли е с SD/MMC FlashFile библиотеката на PRIIO.Компилирам с CodevisioAVR и успях да я подкарам на FAT16 за SD card на ATMEGA32.Създавам файлове и пиша в тях ,но имам следния проблем.
Библиотеката има 2 функции за създаване и отваряне на файл :
fcreate(uchar*NAME,uchar*MODE) където NAME е стринг от RAM паметта и представлява името и разширението на файла.
Според описанието на библиотеката функцията трябва да се ползва така:
//
strcpyf(filename, “TEST.TXT”)
file1 = fcreate(filename, 0);
fclose(file1);
//Това копира съдържанието на стринг “TEST.TXT” записан във flash на контролера в буфер filename и го ползва.Така функцията работи без проблем.

Другият начин е името да се задава директно във функцията със стринг и тя се различава само по една буква:
//
file1 = fcreatec(“TEST.TXT”, 0);
fclose(file1);
// Това също работи безпроблемно
//
Проблема е следният:
Понеже не искам да ползвам твърдо фиксирани имена на файловете си се опитах да ги създавам за всяка дата по отделно ето така:
//
char Filename[14];
sprintf(Filename,"%.2u/%.2u/%.2u.TXT" , Date,Month,Year);//където дата ,месец и година ги чета от един RTC DS1307
file1 = fcreate(Filename, 0);//Ползвам първия начин
fclose(file1); file1 e пойнтер който е предварително дефиниран
//
Така не иска да работи и не ми създава никакъв файл.Къде според вас е проблема,защо възприема буфера записан от strcpyf ,а не иска да възприема буфер записан от sprintf?


Пет Апр 18, 2008 3:53 pm
Профил
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Чет Окт 06, 2005 2:06 pm
Мнения: 194
Местоположение: Sofia
Мнение 
Според мен проблема не е в това коя функция генерира стринга, а какво има в него. Поне Windows-а ми изписва че не може да има / както и <>*?\|" в имената на файловете. Виждам че ти си дал %.2u/%.2u/%.2u.TXT. Промени разделителя между цифрите и би трябвало да тръгне.


Пет Апр 18, 2008 4:12 pm
Профил
Ранг: Новодошъл
Ранг: Новодошъл

Регистриран на: Пон Яну 16, 2006 5:20 pm
Мнения: 122
Местоположение: гр. Горна Оряховица
Мнение 
Благодаря ти колега ,оказа се абсолютно прав за разделителя.По принцип го знам това ,но едва ли щях да се сетя . Какви ли неща не ми минаха през ума.Промених разделителя с долна черта и всичко тръгна .


Пет Апр 18, 2008 4:21 pm
Профил
Покажи мненията от миналия:  Сортирай по  
Отговори на тема   [ 3 мнения ] 

Кой е на линия

Потребители разглеждащи този форум: 0 регистрирани и 3 госта


Вие не можете да пускате нови теми
Вие не можете да отговаряте на теми
Вие не можете да променяте собственото си мнение
Вие не можете да изтривате собствените си мнения
Вие не можете да прикачвате файл

Търсене:
Иди на:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group.
Designed by ST Software for PTF.
Хостинг и Домейни