Подскажите как можно поправить код, что бы не происходило прерывания работы шагового двигателя при обновлении экрана.
Обновление экрана необходимо делать с пузой 500 мс, т.к. выводятся показания датчиков, которые опрашиваются ещё чаще.
	
	
	
	
	
	
		
			
			
			
			
			
		
	
	
	
		
	
	
		
	
								Обновление экрана необходимо делать с пузой 500 мс, т.к. выводятся показания датчиков, которые опрашиваются ещё чаще.
			
				Код:
			
		
		
		#include <Arduino.h>
#include "GyverStepper2.h"
GStepper2<STEPPER2WIRE> stepper(2048, 3, 4);
bool bool_tmr1 = 1;
bool bool_tmr2 = 0;
uint32_t tmr1 = millis();
#define STEPPER_PIN_START 11
#include <EncButton.h>
#define BTN_PIN_START 12
EncButton<EB_TICK, BTN_PIN_START> btn1;
bool flagStart = false;
bool flagStaus = false;
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);
uint32_t timerLCDredraw = 0;
void LCD()
{
  lcd.clear();
  lcd.setCursor(0, 0);
  lcd.print("11111111");
}
void setup()
{
  Serial.begin(9600);
  pinMode(STEPPER_PIN_START, OUTPUT);
  digitalWrite(STEPPER_PIN_START, LOW);
  lcd.init();
  lcd.backlight();
}
void loop()
{
  btn1.tick();
  stepper.tick();
  if (btn1.press())
  {
    flagStart = !flagStart;
    flagStaus = !flagStaus;
  }
  if (flagStart == true && flagStaus == true)
  {
    stepper.setSpeedDeg(120);
    digitalWrite(STEPPER_PIN_START, LOW);
    flagStaus = !flagStaus;
  }
  if (flagStart == false && flagStaus == true)
  {
    digitalWrite(STEPPER_PIN_START, HIGH);
    flagStaus = !flagStaus;
  }
  if (millis() - timerLCDredraw >= 500)
  {
    timerLCDredraw = millis();
    LCD();
  }
}