Переключение режимов с задержкой на LGT8F328P

Добрый день, Увожаемые!
Прошу вашей помощи, написал код для ATmega328(Ардуино нано) загрузил, переключение работает вместе с таймером, то есть с задержкой. Но она нужна была для другого проекта, по этому заменил ее ардуинкой(328p lqfp32), после переноса переключение режимов работает, но задержки нет.
Вот код:

#define RELAY_IN0 2
#define RELAY_IN1 3
#define RELAY_IN2 4
#define RELAY_IN3 5
#define RELAY_IN4 6
#define RELAY_IN5 7
#define RELAY_IN6 8
#define RELAY_IN7 9
int rcPinA = 10;
int rcPinB = 11;
int rcPinC = 12;
unsigned long delayStart = 0;
bool delayRunning = false;
bool pr;

void setup() {
  Serial.begin(9600, SERIAL_8N1);
  pinMode(rcPinA, INPUT);
  pinMode(rcPinB, INPUT);
  pinMode(rcPinC, INPUT);
  digitalWrite(RELAY_IN0, HIGH);
  digitalWrite(RELAY_IN1, HIGH);
  digitalWrite(RELAY_IN3, HIGH);
  digitalWrite(RELAY_IN2, HIGH);
  digitalWrite(RELAY_IN4, HIGH);
  digitalWrite(RELAY_IN5, HIGH);
  digitalWrite(RELAY_IN6, HIGH);
  digitalWrite(RELAY_IN7, HIGH);
  pinMode(RELAY_IN0, OUTPUT);
  pinMode(RELAY_IN1, OUTPUT);
  pinMode(RELAY_IN2, OUTPUT);
  pinMode(RELAY_IN3, OUTPUT);
  pinMode(RELAY_IN4, OUTPUT);
  pinMode(RELAY_IN5, OUTPUT);
  pinMode(RELAY_IN6, OUTPUT);
  pinMode(RELAY_IN7, OUTPUT);
}

void loop() {

  int inputState = pulseIn(rcPinA, HIGH);
  static byte mode = 0;
  static byte mode_st = 0;
//проверка без пульта радиоуправления
 /*if (digitalRead(10)==1) mode =0; 
  else if (digitalRead(11)==1) mode = 1;
  else mode =2;*/
  if (inputState > 1600) mode = 0;
  else if (inputState > 1200 && inputState < 1600) mode = 1;
  else mode = 2;
  if (mode_st != mode) {
    mode_st = mode;
    pr = 0;
  }
  switch (mode_st) {
    case 0: task1(); break;
    case 1: task2(); break;
    case 2: stop(); break;
  }
}

void stop() {
  static uint32_t tmr3;
  if (millis() - tmr3 >= 1000) {
    tmr3 = millis();
    digitalWrite(RELAY_IN0, HIGH);
    digitalWrite(RELAY_IN1, HIGH);
    digitalWrite(RELAY_IN3, HIGH);
    digitalWrite(RELAY_IN2, HIGH);
    digitalWrite(RELAY_IN4, HIGH);
    digitalWrite(RELAY_IN5, HIGH);
    digitalWrite(RELAY_IN6, HIGH);
    digitalWrite(RELAY_IN7, HIGH);
    Serial.println("STOP");
  }
}
void task1() {
  static uint32_t tmr1;
  if (pr == 0) {
    stop();
    pr = 1;
  } else if (pr == 1 && millis() - tmr1 >= 1000) {
    tmr1 = millis();
    digitalWrite(RELAY_IN0, HIGH);
    digitalWrite(RELAY_IN2, HIGH);
    digitalWrite(RELAY_IN4, HIGH);
    digitalWrite(RELAY_IN6, HIGH);
    digitalWrite(RELAY_IN1, LOW);
    digitalWrite(RELAY_IN3, LOW);
    digitalWrite(RELAY_IN5, LOW);
    digitalWrite(RELAY_IN7, LOW);
    Serial.println("MODE 1");
  }
}
void task2() {
  static uint32_t tmr2;
  if (pr == 0) {
    stop();
    pr = 1;
  } else if (pr == 1 && millis() - tmr2 >= 1000) {
    tmr2 = millis();
    digitalWrite(RELAY_IN1, HIGH);
    digitalWrite(RELAY_IN3, HIGH);
    digitalWrite(RELAY_IN5, HIGH);
    digitalWrite(RELAY_IN7, HIGH);
    digitalWrite(RELAY_IN0, LOW);
    digitalWrite(RELAY_IN2, LOW);
    digitalWrite(RELAY_IN4, LOW);
    digitalWrite(RELAY_IN6, LOW);
    Serial.println("MODE 2");
  }
}

Вы бы указали название платы, и что написано на чипе МК полностью

Название платы NANO v 3.1 LGT8F328P. На процессоре нет ничего

Почитайте здесь https://arduino.ru/forum/apparatnye-voprosy/obzor-klona-megi328-lgt8f328p

1 лайк

Спасибо за совет, сейчас буду изучать.