Skip to content

Interrupt errors using input only GPIO #12117

@SuGlider

Description

@SuGlider

Discussed in #11874

Originally posted by MeisterQ September 25, 2025
Hello, im using Interrupts on esp32 and i always get the errors:

16:50:46.072 -> E (1714) gpio: gpio_pullup_en(78): GPIO number error (input-only E (1762) gpio: gpio_isr_handler_remove(568): GPIO isr service is not installed, call gpio_install_isr_service() first
16:50:46.118 -> E (1763) gpio: gpio_isr_handler_remove(568): GPIO isr service is not installed, call gpio_install_isr_service() first

This is my function where i call it

void fan()
{
  unsigned long currentMillis2 = millis();
  if (currentMillis2 - previousMillis2 >= interval2)
  {
    detachInterrupt(digitalPinToInterrupt(FAN1RPM));
    detachInterrupt(digitalPinToInterrupt(FAN2RPM));

    rpm1 = half_revolutions1 * 30;
    rpm2 = half_revolutions2 * 30;

    //Serial.print("Fan1: ");
    //Serial.println(rpm1);
    //Serial.print("Fan2: ");
    //Serial.println(rpm2);

    half_revolutions1 = 0;
    half_revolutions2 = 0;
    previousMillis2 = currentMillis2;

    attachInterrupt(digitalPinToInterrupt(FAN1RPM), rpm_fan1, RISING);
    attachInterrupt(digitalPinToInterrupt(FAN2RPM), rpm_fan2, RISING);
  }
}

Is there anything i can do to fix this?

Im using GPIO 34 ands 35 for interrupt with an external pullup resistor connected. The module is a esp-wroom-32.

If i comment all interrupt lines, the error is gone.

Metadata

Metadata

Assignees

Labels

Projects

Status

Todo

Relationships

None yet

Development

No branches or pull requests

Issue actions