natürlich funktioniert es lokal definiert nicht ohne static, das hatten wir doch schon ausgiebig besprochen!
Globale Variablen aber sind quasi automatisch static, bzw. hier stellt sich das Problem nicht, denn static hat für globale Variaben eine andere Bedeutung (betr. den file scope, was hier nicht stört, wenn es auch global als static definiert würde).
Man könnte auch sagen, lokale static Variablen sind globale Variablen mit einem auf eine spezielle Funktion lokal eingeschränkten scope.
PS,
da ja Arduino C++ nutzt und nicht ANSI C:
hier gibt es zusätzlich "static" auch für class-Attribute
Lesezeichen