Проблема с переносом кода с ESP8266 на ESP32

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

Сообщение: 'buttonFeed' was not declared in this scope

void IRAM_ATTR test_key()
{ 
  buttonTimer.attach_ms(BUTTON_TIMEOUT, buttonFeed);
  if (n == 1) {
    detachInterrupt(digitalPinToInterrupt(interruptPin));
    digitalWrite(TFT_LED, HIGH);
//buttonTimer.attach_ms(BUTTON_TIMEOUT, buttonFeed);
    tftTimer.attach_ms(TFT_TIMEOUT, tftcb); //запускаем таймер отображения TFT дисплея
    n = 0;
    // Serial.println("on");

  } else {
    detachInterrupt(digitalPinToInterrupt(interruptPin));
    n = 1;
    digitalWrite(TFT_LED, LOW);
//buttonTimer.attach_ms(BUTTON_TIMEOUT, buttonFeed);
    tftTimer.detach();
    // Serial.println("off");
  }
}

void buttonFeed(void) {
  buttonTimer.detach();
  attachInterrupt(digitalPinToInterrupt(interruptPin), test_key, FALLING);
}

 

b707
Offline
Зарегистрирован: 26.05.2017

 

Каждая функция должна быть обьявлена до ее использования.

Так что у тебя два варианта - либо поменяй test_Key() и buttonFeed() местами. либо добавь прототип для последнего

ua6em
ua6em аватар
Offline
Зарегистрирован: 17.08.2016

b707 пишет:

Каждая функция должна быть обьявлена до ее использования.

Так что у тебя два варианта - либо поменяй test_Key() и buttonFeed() местами. либо добавь прототип для последнего

на ESP8266 работало )))
поменять не получится, они друг на друга ссылаются, прототип что-то не проканал, видимо неправильно объявил )))

Вопрос снят, оказался сам себе злобный буратино, с прототипом перемудрил )))

mixail844
Offline
Зарегистрирован: 30.04.2012

ua6em пишет:

на ESP8266 работало )))
поменять не получится, они друг на друга ссылаются )))

звучит как возможная рекурсия