Цитата(denebopetukius @ Apr 7 2009, 03:05)

согласно тем же докам - мы можем пропихать без опроса DREQ не более 32 байта. после этого DREQ=0, до тех пор пока часть не отиграет. Затем када
Я извиняюсь, или я сегодня не в себе, или что - но ваши объяснения очень плохо понятны.
- откуда берутся звуковые данные? их откуда-то получают, или вычисляют или что?
- у вас SPI что работает без пирериваний? причем вся пересылка SPI происходит сама в прерывании обработки DREQ? какая частота SPI?
Я тупой наверное очень, но 32 байта на скорости 22050 это больше одной миллисекунды играния... За это время по-моему можно успеть все на свете... Хотя я не в курсе что у вас там с видео происходит, и насколько оно мешает...
Насчет DREQ... Правильно... почти... Только DREQ опускается не до тех пор, пока "отыграет", а до тех пор, когда освободится место для еще 32 байт... Зря вы на него самого прерывание вешаете... Он довольно произвольно может опускаться и подниматься... Лучше записывать данные когда удобно программе (где-нить по таймеру вставить и т.п., разумеется с условием что срабатывать это чаще чем раз в 1мс должно) - проверяя DREQ... Впрочем и так, вероятно, можно... Насчет "кусков и половинок" я не понял... Комментарии не сказать чтоб особо ясные, извините. Чаю попью, может понятливее стану... ;-)