Если монтирование успешно, то, возможно, виновато имя файла. Оно слишком длинное для FAT (если не включен LFN). Можно попробовать что-то вроде CASABL~1.WAV.
Да и вообще, FRESULT неплохо бы получать при открытии файла, тогда бы понятно было в чём проблема.
if ( pf_open(file_name) == RES_OK ) LCD_SendString("File is OPENED"); else if ( pf_open(file_name) == FR_NO_FILE ) LCD_SendString("FR_NO_FILE"); else if ( pf_open(file_name) == FR_DISK_ERR ) LCD_SendString("FR_DISK_ERR"); else if ( pf_open(file_name) == FR_NOT_ENABLED ) LCD_SendString("FR_NOT_ENABLED");
while(1){
}
}
ф-ция возвращает FR_NO_FILE этот же файл открывал в другом проэкте где используется либа FatFs опытным путем выяснил что файл в ней открывается успешно при длине имени не более 8 символов куда копать дальше ? неужто баг в библиотеке ?
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Заголовок сообщения: Re: Petit FatFs & воспроизведение wav файла
Добавлено: Пн янв 23, 2017 15:01:08
Модератор
Карма: 90
Рейтинг сообщений: 1289
Зарегистрирован: Чт мар 18, 2010 23:09:57 Сообщений: 4510 Откуда: Планета Земля
Рейтинг сообщения:0 Медали: 1
FreshMan писал(а):
но тем не мение файл не открывается
Что-то Вы запутались. И нас тоже путаете. Сначала Вы пишите, что файл открывается если имя меньше 8 символов, потом сразу же пишите, что он совсем не открывается. Дак открывается он или нет ? 8 символов - это максимальная длина файла при отключенной поддержки LNF. Плюс 3 символа на расширение.
ЗЫ: Попробуйте, как и писали выше, пройтись поиском и вывести все имена на дисплей.
у вас неверно сделана обработка ошибки: функцию надо вызывать один раз и запоминать код возврата, который затем анализировать.
Код:
switch(pf_open(file_name)){ case RES_OK: LCD_SendString("File is OPENED"); break; case FR_NO_FILE: LCD_SendString("FR_NO_FILE"); break; // и т.д. }
ну и есть небольшое подозрение, что надо задать рабочий каталог, ибо указание имени файла без указания пути, возможно, и дает указанную вами проблему. сделайте аналог DOS-овской команды "cd \" перед тем, как открывать файл в корне флешки...
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
Сначала Вы пишите, что файл открывается если имя меньше 8 символов, потом сразу же пишите, что он совсем не открывается. Дак открывается он или нет ?
есть два проэкта в первом используется либа FatFs в этом проэкте файл 1.wav открывается без проблем лежит он в корне, не в папке, а в коне диска во втором используется либа Petit FatFs файл здесь 1.wav не открывается лежит он тоже в корне диска
возник вопрос по настройке таймеров Т0(8-ми разрядный) настраиваю на частоту дискретизации 32кГц тоесть это та частота с которой будут обновляться значения ШИМ Т1(16-ти разрядный) использую под сам ШИМ на какую частоту надо настраивать Т1 ?
чем выше, тем лучше, будет проще отфильтровать. но при любом раскладе не ниже частоты Т0.
мне ваш подход представляется бессмысленно-избыточным: 32 кГц дискретизация явно ни к чему, если ШИМ будет 8-битный. качество ШИМ-модулированного сигнала определяется не только частотой дискретизации, но и разрядностью ШИМ.
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
мне ваш подход представляется бессмысленно-избыточным:
почему ? частоту дискретизации выбираю оглядываясь на теорему Котельникова мы слышим в диапазоне 20 - 20000Гц как я понимаю, в таком случае частота дискретизации должна быть 40кГц но мне ее из AVR не выжать ШИМ будет 16 разрядный, потому как при 8 разрядном слышны заментые шумы в паузах поправте если где-то заблуждаюсь
ок. 16-битный ШИМ - это значит, частота будет в 65536 раз меньше тактовой частоты МК. AVR работают на 16МГц максимум, следовательно, частота ШИМ у вас будет не более 244 Гц. по теореме Котельникова вы сможете получить сигнал не более 122 Гц...
всё верно?
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
да, но он будет не на дискретизации а на разрядности тоесть, Т0 - 8 разрядный - используется под дискретизацию, выборку сигнала Т1 - 16 разрядный - под разрядность, тоесть он будет определять количество уровней сигнала вы меня понимаете ?
я-то понимаю, а вот вы, похоже, не понимаете принцип ШИМ-генерации звука...
частота дискретизации у вас определяется частотой ШИМ, т.к. именно импульс ШИМ является аналогом "отсчета" сигнала. пока один период ШИМ не отработает, вы не сможете выдать новый отсчет, поэтому задавать частоту дискретизации БОЛЬШЕ частоты ШИМа - бессмысленно. меньше - можно, выше - нет.
отсюда и плясать
_________________ если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...
тогда я не пойму как правельно настроить таймера ? выходит при 16 разрядном шиме это сделать не возможно ?
в реализации на AVR - да, 16-битный звук в "привычном" понимании невозможно реализовать. не считать же трансформатороное гудение звуком?
метод расчетов параметров ШИМа в общих чертах выглядит примерно следующим образом. 1. изначально принимаем (смиряемся с фактом), что звук будет 8-битный. 2. разбираемся с частотой дискретизации. звук телефонного качества - это от 6 до 9 килосемплов в секунду, разумеется, чем больше, тем качественнее звук. по слухам при частоте 15-16 килосемплов звук имеет очень приличное качество, а при 32 - уже вполне адекватное FM-уровню. разумеется, рассуждения о качестве справедливы при "средних" уровнях громкости, т.к. тихие и громкие звуки при 8-битах - это скорее фантастика, чем реальность. 3. Если частота дискретизации совпадает с легкодостижимым значением частоты ШИМ (т.е. кратна деленной на 256 тактовой частоте МК, кратность совпадает с предделителями таймера), то выборки семплов можно делать по прерыванию переполнения таймера, генерирующего ШИМ. в противном случае надо использовать другой таймер для выбора семплов.
общие рассуждения. частоту ШИМ следует выбирать максимально возможной, не обращая внимание на частоту дискретизации, т.к. потом эту частоту надо срезать фильтром. чем выше частота, тем проще фильтр. существуют методы маскирования низкой разрядности такого звука, но это, как говорится, уже вопрос больше к ушам слушающего, чем к реальному качеству.
Добавлено after 38 seconds:
FreshMan писал(а):
когда конвертором делаеш 8 бит, 32кГц - в паузах слышен заметный шум при 16 бит, 32кГц шума нет
это вы на своей аудиокарте компьютера слушали, или реально из AVR выжимали?
Добавлено after 11 minutes 52 seconds: вот, нашел у себя синтезированный на AVR 8-битный звук, можете послушать реальное качество (звук синтезирован протеусом с простейшим RC-фильтром). т.к. wav-запрещено - файл просто переименован - удалите расширение zip и слушайте.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 41
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения