@ fredyxx:
die Arduino IDE bindet mehr Headerdateien ein (automatisch, im Hintergrund) als man jemals sieht oder sehen wird.
Sie erstellt sogar meistens selbstständig Templates der programmierten Funktionen und setzt sie selbstständig ganz oben im Code (temporär) ein, ohne dass man es sieht, und compiliert und linkt dann alles.
100%ig sicher klappt das aber nicht immer, und dann musst du von Funktionen, die unterhalb einer aufrufenden Funktion stehen, selber das Template erstellen uns es oberhalb der aufrufenden Funktion einfügen.
Das ist genau das, was daher in deinem Falle auch von Hand gemacht werden musste, und der Grund, warum es dann hinterher funktioniert hat.
Lesezeichen