ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
20 апреля
1218930 Топик полностью
Cкpипaч, пророк (28.06.2022 11:39, просмотров: 189) ответил Dingo на В конечном виде так и будет: набрали объём данных с АЦП - готовы отдавать(до этого - ни-ни); измерения обработчик будет складывать в заведомо больший буфер (наполняем по одному, отдаём пачкой в N). совместно с этим ещё будет жить другая задача с общением по сети, вот и думаю, как раскидать (и бедуинов спрашиваю). Это я одну команду описал, а там такая последовательность, одна из необходимых:
Потребитель ждет семафор, отправитель - собирает и готовит буфер. По окончанию выставляет семафор. Задержка на работу планировщика, по передаче управления от планировщика к потребителю, принимается принебрежимо малой. 

Задачу не понимаю, но наверное в прерывании достаточно складывать в буфер замеры с отметкой времени.

Возможно, тупо кольцевой буфер на два-три полных "цикла опроса".

Плюс, поднять семафор счетный (чтобы иметь возможность буфферизировать два полных цикла в буфере).


Попытка выжать время переключения контекста видется либо ПРЕЖДЕВРЕМЕННОЙ ОПТИМИЗАЦИЕЙ,

либо ОШИБКОЙ АРХИТЕКТУРЫ, потому что дальше упомянута передача по сети.

А это сильно дольше. И таймауты возможны, и ошибки передачи.

Сколько времени вы пытаетесь выгадать? Десятки милисекунд?

Может быть проще буффер между отправителем и потребителем увеличить до 5-15 полных пакетов?

(и счетный семафор, само собой)

... но не любой ценой.