Mamont писал(а):u37 писал(а):Любой вмешательство OS и между 10uS тиками вклеивается разрыв в 2.5 ms.
можно поподробнее о вмешательстве, и почему оно никогда не происходит?
Насчет "никогда не происходит" вы меня порадовали. )))
Программа с выводом в железо может работать двумя способами - или выдачей каждого импульса, или спецификацией драйверу выдать столько-то импульсов. Судя по рекомендации не запускать ресурсоемкие приложения одновременно с мач3, он работает по первому принципу (могу и заблуждаться).
Пока нагрузки на OS нет, то исполняемой программе дается практически всё время и никто ее особо не прерывает. Однако, появление другой "нагрузки" вызывает режим переключения задач и приложение усыпляется. На это время прохождение импульсов не происходит, программа же стоит.
Если драйвер порта не "просто генерит импульсы", то усыпление программы вызовет лишь небольшие неконтролируемые задержки между пачками импульсов. Вроде пустяк, но это так-же может вызывать срыв - механика не любит резких изменений скорости. Это как быстро идти и остановиться на шаге - неизбежно упадешь. ))
Если есть "аппаратная" буферизация, то проблемы с разрывами нет, надо лишь медленно (монотонно) подтормаживать, а потом разогнаться. Физически, механика и так и так будет замедляться-разгоняться, но при буферизации не произойдет срыва слежения.