[an error occurred while processing this directive]
|
Вот как раз централизованный процесс имеет большущий минус - он жрет ресурс в процессе переключения контекстов. А сохранить-восстановить в современных процессорах DSP надо ой-ой сколько всего. Я просто ухожу от этой операции и контекстов (в смысле сохранения регистров процессора, переключения стеков, и т.п., а не контекста в смысле текущего состояния задачи) вообще, высвобождая ресурсы.
А сбор данных я скидываю на задачу только тогда, когда по каким-то причинам это нельзя сделать в прерывании. Обычно "задача" прерывания просто пихает данные в очередь, которую потом разгребает задача. В случае DMA, действительно, только "семафорит", так как уже принят целый блок.