- да, удобство шаговых моторов в предсказуемости их положения. После включения можно еще подвигать ими и сбросить специальной командой счетчики в нули.
- в тестах выбрал 6-байтные универсальные "посылки". 2 байта - служебный и для проверки суммы, 1 - команда, 1 - короткий параметр, 2- длинный параметр.
При этом можно посылать все что угодно и модифицировать быстро код под различные надобности. Например,команда "MMOV, 3, 1000" значит двинуть мотор номр 3 в положение 1000, а команда "MVEL, 3, 100" значит установить скорость 100 для мотора номер 3. На все принятые команды корабль отвечает подтверждением приема, или отвечает параметрами, например, на запрос реального положения мотора, или на запрос скорости, или на запрос напряжения аккумулятора, или на текстовый запрос версии программы.. и.тд.
Вообще, все вычисления лучше возложить на управляющий комп-передатчик, а приемник-процессор должен только как можно быстрее принять команду и изменить свои переменные-регистры.