Это зависит от аппаратного обеспечения, и лучший ответ - попробовать и попробовать.
Другие ваши варианты: либо использовать отдельный PIC для управления шаговым двигателем, как вы упомянули, использовать псевдопоточность (пользовательские потоки, но это обычно не доступно в большинстве компиляторов для платформы PIC.
Но, возможно, для вас лучше всего будет использовать основной цикл вашего программного обеспечения для управления шаговым двигателем (для ....переместить, уснуть, продолжить), а затем использовать прерывания для обработки входящих запросов TCP / IP, с помощью которых вы будете изменять регистры / переменные состояния.
Использование прерываний - хорошая идея, но когда у вас что-то такое высокое-приоритет, опрос и зацикливание являются лучшими вариантами.Чтобы убедиться, что все гладко, вы должны быть в состоянии гарантировать, что ваши прерывания TCP / IP не будут превышать xxx циклов (или миллисекунд, то же самое на PIC, на самом деле), или же добавление кода управления шаговым шагом в TCP/ Обработчик прерываний IP.
Теперь все это не понадобится, если ваш контроллер PIC имеет приоритетные прерывания.В этом случае просто установите шаговое прерывание на более высокий приоритет, чем прерывание TCP, и все будет в порядке.Тем не менее, я не верю, что PIC имеет это для пользовательских функций, но я могу ошибаться.Также может быть хорошей идеей перейти на другую платформу, которая поддерживает поддержку приоритетных прерываний, потому что это сделает код намного чище и облегчит вашу жизнь.