реклама на сайте
подробности

 
 
> mp3 декодер VS1003, непрерывный поток данных
denebopetukius
сообщение Apr 6 2009, 04:57
Сообщение #1


Местный
***

Группа: Новичок
Сообщений: 221
Регистрация: 13-11-08
Пользователь №: 41 584



к контроллеру подключен VS1003 на SPI.

есть основной цикл программы, подготавливающий буфер аудио-данных:

Код
while(1)
{
MakeSoundBuffer(Buf);
...
}


есть обработчик прерывания VS1003 (по высокому уровню ножки DREQ):

EXEPTION Handler()
{
for(i=0;i<32;i++) SPISend(Buf[i]);
EOI();
}

тоесть Buf - буфер из 32 байт, по прерыванию засылаем 32 байта в mp3 декодер (по даташиту именно столько можно слать без опроса DREQ)

проблема в том что функция MakeSoundBuffer или остальная часть в программе в главном цикле - очень медленна - буфер не успевает построиться полностью, когда mp3-кодер его уже требует.

в итоге вместо непрерываного звука слышен хрип.

что делать?

подскажите как следует организовать программу по заполнению буфера/чтению из него?

32 байта это ведь мало?

в даташите упоминается о потоковом режиме. что это такое и поможет ли он в данной ситуации?


--------------------
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 27th June 2025 - 01:45
Рейтинг@Mail.ru


Страница сгенерированна за 0.01353 секунд с 7
ELECTRONIX ©2004-2016