Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

AVR Раздел по микроконтроллерам компании Atmel - AVR / ATtiny / ATmega / ATMega128 / ATxmega, вопросы по программированию в AVR studio и все, относящееся к AVR...

 
Опции темы
Непрочитано 15.06.2011, 14:02  
der_student
Частый гость
 
Регистрация: 15.11.2007
Сообщений: 17
Сказал спасибо: 0
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
der_student на пути к лучшему
По умолчанию Re: SD/MMC на AVR

Тоже предстоит поработать с библитекой от мистера Чена. Пока обдумываю алгоритм и возник вопрос. Есть некие регистры, в которых содержится текущее время и дата. Можно создавать текстовые файлы и именем типа 15-06-2011.txt и писать туда данные??? Просто в примерах имя файла явно указывается (например "1.txt") мне же нужно имя текстового файла вычислять программно так сказать...
Реклама:
der_student вне форума  
Непрочитано 15.06.2011, 15:04  
Дмитриус
Частый гость
 
Регистрация: 21.07.2010
Сообщений: 36
Сказал спасибо: 11
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Дмитриус на пути к лучшему
По умолчанию Re: SD/MMC на AVR

простой копи-паст функции из страницы вам подойдет, уже использую в своем проекте
http://elm-chan.org/fsw/ff/en/readdir.html
Миниатюры:
Нажмите на изображение для увеличения
Название: 1.png
Просмотров: 121
Размер:	5.7 Кб
ID:	22717  

Последний раз редактировалось Дмитриус; 15.06.2011 в 15:07.
Дмитриус вне форума  
Непрочитано 15.06.2011, 15:11  
Дмитриус
Частый гость
 
Регистрация: 21.07.2010
Сообщений: 36
Сказал спасибо: 11
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Дмитриус на пути к лучшему
По умолчанию Re: SD/MMC на AVR

мне в общем огромную помощь даёт хелп кодвижена. пользуюсь поиском в нем. удобно что функции все для работы с SD начинаются на f_ - все видны сразу
Дмитриус вне форума  
Непрочитано 17.06.2011, 13:11  
Dimon2
Частый гость
 
Регистрация: 24.08.2005
Сообщений: 28
Сказал спасибо: 0
Сказали Спасибо 5 раз(а) в 4 сообщении(ях)
Dimon2 на пути к лучшему
По умолчанию Re: SD/MMC на AVR

Сообщение от Дмитриус Посмотреть сообщение
я вот не могу понять в чем затык- во мне или в протеусе... вот собрал в кучу в архив. может что-то не то в настройках у меня? я даже не перекомпилировать пробовал, как есть... не хочет. пишет FR_NOT_READY - может задержку какуюто надо вставить перед чтением?
Если ты используешь мой файл-образ, тогда измени название файла на:
unsigned char path[] = {"0:/stroka1.txt"};
И файл откроется.
Вот измененный проект:fat_sd.zip
Dimon2 вне форума  
Непрочитано 19.06.2011, 23:04  
Дмитриус
Частый гость
 
Регистрация: 21.07.2010
Сообщений: 36
Сказал спасибо: 11
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
Дмитриус на пути к лучшему
По умолчанию Re: SD/MMC на AVR

Dimon2, спасиб я уже разобрался. Думал уже добавить библу для СД карточек в своем проэкте для дисплея 3310, но че то кодвижен сразу виснет при добавдении её в проэкт. насколько я знаю что библиотеки СД сами настраивают SPI, может конфликтуют и из-за этого и повис... причем жестокий. поэтом у переделал на программный SPI свой исходник по принципу sersne. и отпала необходимость в перераспределении ресурсов SPI на дисплей и карточку, дергая соответствующий вывод CS

Последний раз редактировалось Дмитриус; 19.06.2011 в 23:07.
Дмитриус вне форума  
Непрочитано 22.06.2011, 12:08  
Dimon2
Частый гость
 
Регистрация: 24.08.2005
Сообщений: 28
Сказал спасибо: 0
Сказали Спасибо 5 раз(а) в 4 сообщении(ях)
Dimon2 на пути к лучшему
По умолчанию Re: SD/MMC на AVR

Не могу разобраться как в файл дописывать данные.
Использую f_read(&file,buffer,sizeof(buffer)-1,&nbytes)), а она переписывает только, не добавляя.
Dimon2 вне форума  
Непрочитано 22.06.2011, 18:41  
sersne
Прописка
 
Регистрация: 09.11.2009
Сообщений: 179
Сказал спасибо: 44
Сказали Спасибо 58 раз(а) в 26 сообщении(ях)
sersne на пути к лучшему
По умолчанию Re: SD/MMC на AVR

Сообщение от Dimon2 Посмотреть сообщение
Не могу разобраться как в файл дописывать данные.
Использую f_read(&file,buffer,sizeof(buffer)-1,&nbytes)), а она переписывает только, не добавляя.
для записи данных используется f_write а не f_read. для добавления данных в конец открытого файла используй f_lseek:
f_lseek(FIL*fp, unsigned long offset);
offset равен размеру файла, fp - хендл открытого файла.
sersne вне форума  
Непрочитано 23.06.2011, 07:17  
Dimon2
Частый гость
 
Регистрация: 24.08.2005
Сообщений: 28
Сказал спасибо: 0
Сказали Спасибо 5 раз(а) в 4 сообщении(ях)
Dimon2 на пути к лучшему
По умолчанию Re: SD/MMC на AVR

Сообщение от sersne Посмотреть сообщение
для записи данных используется f_write а не f_read. для добавления данных в конец открытого файла используй f_lseek:
f_lseek(FIL*fp, unsigned long offset);
offset равен размеру файла, fp - хендл открытого файла.
Спасибо, уже сам разобрался. Нашел русское описание всех функций.
Есть проще способ:
Открываем файл: f_open(&file,path,FA_WRITE) для записи.
В параметре file.fsize будет текущий объем файла.
Двигаем курсор f_lseek(&file,file.fsize) на file.fsize.
Пишем f_write(&file,text,sizeof(text)-1,&nbytes)
Закрываем файл f_close(&file).
Далее цикл повторяем, если надо.
Dimon2 вне форума  
Непрочитано 24.06.2011, 01:04  
anton_1000
Прописка
 
Регистрация: 31.08.2008
Сообщений: 117
Сказал спасибо: 4
Сказали Спасибо 3 раз(а) в 3 сообщении(ях)
anton_1000 на пути к лучшему
По умолчанию Re: SD/MMC на AVR

каким образом определить оставшееся свободное место на карте чтобы не записывает в файл если карта полная?
anton_1000 вне форума  
Непрочитано 24.06.2011, 06:36  
Dimon2
Частый гость
 
Регистрация: 24.08.2005
Сообщений: 28
Сказал спасибо: 0
Сказали Спасибо 5 раз(а) в 4 сообщении(ях)
Dimon2 на пути к лучшему
По умолчанию Re: SD/MMC на AVR

Сообщение от anton_1000 Посмотреть сообщение
каким образом определить оставшееся свободное место на карте чтобы не записывает в файл если карта полная?
В ответ на запрос записи в файл, вы получите ошибку:
FR_DENIED, (7), в доступе отказано, файл/каталог read-only или каталог переполнен

Что бы определить свободное место на диске, используйте функцию:
FRESULT f_getfree (const XCHAR* path, unsigned long* nclst, FATFS** fatfs);

В параметре fat.free_clust и будет число свободных кластеров.

Если этот параметр равен 0, дальнейшая запись не возможна, хотя, по моему, возможна до запись существующего файла пока не закончатся свободные сектора в кластере который занимает файл.
Dimon2 вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Книги dosikus Делимся опытом 11242 29.12.2015 23:45
AVR JTAGICE MKII - проблемы firmware... Luxurious AVR 25 20.10.2014 10:50
БИНС на AVR grisha109 Микроконтроллеры, АЦП, память и т.д 30 15.06.2011 16:08


Часовой пояс GMT +4, время: 03:53.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot