Du hast glaube ich C nicht richtig verstanden. Ein define ist dafür da bestimmte Werte einem Namen zu geben, als Beispiel z.b. Pi, das ist immer 3,1415. Jetzt kannst du in dem Programm jedes mal 3,1415 hinschreiben oder zuerst mit define definieren und anschließend nur mehr mit dem definierten Label (Pi) arbeiten. Bei den Leds hast du es richtig verwendet, bei der Zählervariable allerdings falsch, dort musst du schreiben wie groß der wert sein kann (signed bzw unsigned, char, int float,...). https://www.mikrocontroller.net/arti...R-GCC-Tutorial dort bei ganzzahlige datentypen (integer). Zuerst musst du wissen wie weit der TCNT zählen kann (beim längsten Impuls, also 2ms) und dementsprechend den Typ wählen (vermutlich unsigned char bzw unsigned int).

MfG Hannes