Делаю проект. В железке используются микрофон, динамик, кнопки, дисплей и USB.
Для динамика сейчас выставлен самый высокий приоритет, но даже при этом слышна какая-то рваность в звуке.
Когда остается только одна задача вывода звука такой эффект пропадает.
Сейчас для вывода звука сделана отдельна задача.
В ней происходит масштабирование сэмплов для регулировки уровня громкости и переключение между буферами.
Два буфера. Один выводится по DMA в динамик другой обрабатывается. Они переключаются внутри задачи вывода звука.
В прерывании по завершению DMA взводится семафор. Внутри задачи жду этот семафор, после получения переключаю буфер и так дальше.
Буфера по 180 сэмплов, вывод на частоте 8 кГц. Проц работает на 180 Мгц.
Когда работает несколько задач возникает ощущение что на переключение контекста уходит много времени и получается разрыв в ЦАП.
Может быть кто-то знает где посмотреть подобные примеры?
Пока параллельно разбираюсь с Tracealyzer