Телесистемы
 Разработка, производство и продажа радиоэлектронной аппаратуры
На главную   | Карта сайта | Пишите нам | В избранное
Требуется программист в Зеленограде
- обработка данных с датчиков; ColdFire; 40 тыс.
e-mail:jobsmp@pochta.ru

Телесистемы | Электроника | Конференция «Микроконтроллеры и их применение»

Считывать очередной сектор нужно не дожидаясь конца воспроизведения текущего.

Отправлено ВВ 03 августа 2008 г. 03:02
В ответ на: Проблема при чтении аудио данных c SD карты отправлено IgorAVR 03 августа 2008 г. 01:50

Когда-то я решал подобную задачу с помощью 51-го от Silabs.
Данные с SD считывал в буфер ёмкостью в два сектора (1024 байта).
Считываем первый сектор в первую половину буфера и запускаем таймер,
который вырабатывает прерывания с нужной частотой.
По прерываниям выбираем из буфера байты и посылаем в ЦАП
(в Вашем случае это ШИМ). Не дожидаясь конца воспроизведения
первого сектора, считываем второй сектор во вторую половину буфера.
Прерывания не мешают считыванию очередного сектора.
Как только началось воспроизведение второго сектора ( из второй
половины буфера) считываем следующий сектор в первую половину
буфера и т.д. Не знаю, успеет ли АВР воспроизводить с частотой 22кГц.


Составить ответ | Вернуться на конференцию

Ответы


Отправка ответа
Имя*: 
Пароль: 
E-mail: 
Тема*:

Сообщение:

Ссылка на URL: 
URL изображения: 

если вы незарегистрированный на форуме пользователь, то
для успешного добавления сообщения заполните поле, как указано ниже:
поделите двойку на единицу:

Перейти к списку ответов | Конференция | Раздел "Электроника" | Главная страница | Карта сайта

Rambler's Top100 Рейтинг@Mail.ru
 
Web telesys.ru