Hallo Zusammen!

Ich habe im Wiki Beispiel: Hallo Welt für AVR (LED blinken)
eine Funktionsdefinition :static volatile uint16_t irq_count = 0;
gelesen ...

Was volatile macht, ist klar: vor Lesen der Variable immer neu holen, da ja im Interrupt verändert werden könnte.

Aber die Kombination static volatile verstehe ich nicht.

Static soll doch eigentlich die Unveränderbarkeit garantieren ...

Und dann allgemein, was sollen die static - Definitionen von Funktionen im uC- Bereich?