Комментарии 6
Вы крутите мотором в обработчике прерывания — это абсолютно недопустимо.
Такой код не имеет развития. Готов спорить, что даже на 9600 теряются команды.
И отдельное спасибо за
Такой код не имеет развития. Готов спорить, что даже на 9600 теряются команды.
И отдельное спасибо за
ConfigState = 1;— отличная попытка вынести мозг тому, кто будет читать ваш код )
0
Программа на компьютере ждёт ответа от микроконтроллера, а он приходит только после выполнения команды. А с ConfigState я как-то пропустил, ткните пожалуйста где, а то я найти не могу.
0
Здесь,
выставляется ConfigState = 1, дальше проваливаемся в if затем в switch которые со свистом проскакиваем, что бы сбросить ConfigState в 0 и отправить 'R' — оно работает конечно, но все это лишняя сложность для читающего код.
Понятно, можно и так — синхронный режим. Два моторчика одновременно так не покрутить.
if (data<10) {ConfigState = 1; MotorStepUP(data);}
выставляется ConfigState = 1, дальше проваливаемся в if затем в switch которые со свистом проскакиваем, что бы сбросить ConfigState в 0 и отправить 'R' — оно работает конечно, но все это лишняя сложность для читающего код.
Программа на компьютере ждёт ответа от микроконтроллера, а он приходит только после выполнения команды.
Понятно, можно и так — синхронный режим. Два моторчика одновременно так не покрутить.
+1
Зарегистрируйтесь на Хабре , чтобы оставить комментарий
Прошивка для электроники 3D сканера