Например TDA7294

Форум РадиоКот • Просмотр темы - petit fatfs
Форум РадиоКот
Здесь можно немножко помяукать :)





Текущее время: Пн июл 07, 2025 12:28:50

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
Не в сети
 Заголовок сообщения: petit fatfs
СообщениеДобавлено: Вт мар 20, 2018 20:31:52 
Нашел транзистор. Понюхал.

Зарегистрирован: Пн апр 25, 2016 15:43:23
Сообщений: 197
Откуда: Россия , Воронеж
Рейтинг сообщения: 0
Доброе время . Попробывал сегодня petit fatfs и наткулся на такую проблемму . Не работает запись в фаил.
То есть , монтирование , открытие файла и чтение из него спокойно , но вместо записи только перезапись.
Если создать пустой текстовый фаил , то при попытке записать в него инф. ничего не произойдет , однако если записать в него 120 пробелов то запись произойдет (пока не кончится строка или эти 120 пробеллов).
В чем может быть проблема ?


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: petit fatfs
СообщениеДобавлено: Ср мар 21, 2018 11:48:31 
Мудрый кот

Карма: 20
Рейтинг сообщений: 145
Зарегистрирован: Вс дек 25, 2016 08:34:54
Сообщений: 1849
Рейтинг сообщения: 0
Без ваших исходников сложно будет вам подсказать.
Разновидностей petit fatfs довольно много,
но тем не менее может поможет
Спойлер
Код:
// процедура записи файла, дописать в конец файла      
        if ((status=fs_lseek(fs_file.size,1))==0) {   //FA_WRITE
           #asm("nop")         
        /* write some text to the file,
          without the NULL string terminator sizeof(data)-1 */
        if ((status=fs_write(text,sizeof(text)))==0)
          printf("%u bytes written of %u%u Bt\r\n",sizeof(text)-1, fs_file.size / 1000, fs_file.size % 1000);
            #asm("nop")
        else
           /* an error occured, display it and stop */
           printf("%u no bytes no written of \r\n");         
       } else {
          /* an error occured, display it and stop */
          printf("File no_size %u bytes\r\n",sizeof(text)-1);
          }
// конец процедуры записи   
То есть перед функцией fs_write вы должны вызвать fs_lseek


Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: petit fatfs
СообщениеДобавлено: Ср мар 21, 2018 16:14:35 
Нашел транзистор. Понюхал.

Зарегистрирован: Пн апр 25, 2016 15:43:23
Сообщений: 197
Откуда: Россия , Воронеж
Рейтинг сообщения: 0
Спойлер
Без ваших исходников сложно будет вам подсказать.
Разновидностей petit fatfs довольно много,
но тем не менее может поможет[spoiler]
Код:
// процедура записи файла, дописать в конец файла      
        if ((status=fs_lseek(fs_file.size,1))==0) {   //FA_WRITE
           #asm("nop")         
        /* write some text to the file,
          without the NULL string terminator sizeof(data)-1 */
        if ((status=fs_write(text,sizeof(text)))==0)
          printf("%u bytes written of %u%u Bt\r\n",sizeof(text)-1, fs_file.size / 1000, fs_file.size % 1000);
            #asm("nop")
        else
           /* an error occured, display it and stop */
           printf("%u no bytes no written of \r\n");         
       } else {
          /* an error occured, display it and stop */
          printf("File no_size %u bytes\r\n",sizeof(text)-1);
          }
// конец процедуры записи   
То есть перед функцией fs_write вы должны вызвать fs_lseek


fs_lseek(0) вызываю перед записью. Но ошибки это не исправляет.

Исходник взят с сайта https://hubstub.ru/programming/114-podk ... lleru.html.
Правда подправил его для atmega32u4 на 16МГц.


Вложения:
atmega32u4_petit_fatfs.rar [119.08 KiB]
Скачиваний: 130
Вернуться наверх
 
Не в сети
 Заголовок сообщения: Re: petit fatfs
СообщениеДобавлено: Ср мар 21, 2018 17:06:59 
Мудрый кот

Карма: 20
Рейтинг сообщений: 145
Зарегистрирован: Вс дек 25, 2016 08:34:54
Сообщений: 1849
Рейтинг сообщения: 0
pf_lseek(0); установить указатель на ноль, он будет перезаписывать.
Что бы писать дальше, надо pf_lseek(fs.fsize) установить указатель на размер файла или на конец файла.


Вернуться наверх
 
Выбираем индустриальные и медицинские источники питания MEAN WELL в открытом исполнении

Использование модульных источников питания открытого типа широко распространено в современных устройствах. Присущие им компактность, гибкость в интеграции и высокая эффективность делают их отличным решением для систем промышленной автоматизации, телекоммуникационного оборудования, медицинской техники, устройств «умного дома» и прочих приложений. Рассмотрим подробнее характеристики и особенности трех самых популярных вариантов AC/DC-преобразователей MW открытого типа, подходящих для применения в промышленных устройствах - серий EPS, EPP и RPS представленных на Meanwell.market.

Подробнее>>
Не в сети
 Заголовок сообщения: Re: petit fatfs
СообщениеДобавлено: Ср мар 21, 2018 17:52:31 
Нашел транзистор. Понюхал.

Зарегистрирован: Пн апр 25, 2016 15:43:23
Сообщений: 197
Откуда: Россия , Воронеж
Рейтинг сообщения: 0
pf_lseek(0); установить указатель на ноль, он будет перезаписывать.
Что бы писать дальше, надо pf_lseek(fs.fsize) установить указатель на размер файла или на конец файла.

Но разве он не должен продолжить запись как только перезапишет все существующие байты ?


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 15


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

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y