ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
21 ноября
552690 Топик полностью
fk0123 (13.10.2014 10:16, просмотров: 1) ответил Codavr на Как правильно организовать передачу данных в программе
Во-первых обработчики прерываний ничего усреднять не могут. Буфер оттуда должен попадать в FIFO и далее в основном потоке усредняться, после чего вызываться все callbacks зарегистрироанных слушателей, после чего из fifo исключается и высвобождается для использования в DMA (всё это в одном потоке). Возможно, лучше будет не callbacks, а какой-то механизм событийно ориентированного программирования. Когда по факту усреднения возникает событие, которое получается заинтересованными наблюдателями. Далее они блокируют самый последний необработанный буфер (хранится только он, остальные откидываются если не успели обработаться) мьютексом, чтоб не удалился в процессе обработки, например, и обрабатывают (поочерёдно, возможно не каждый буфер будет обработан каждым слушателем, если не хватает скорости).