Eben. Haben schon viele.
So viele, dass einige dazu Bibliotheken geschrieben haben, damit du es einfacher hast.
Die heißen dann:
Timing
Millis
:

Ansonsten, für deinen Code:
wenn du den Zähler immer, wenn analog über 300 ist raufzählst, und diese Abfrage mit nem Affenzahn läuft, dann wird auch der Zähler mitm Affenzahn laufen. Falls du damit meinst:
"Raufzählen, wenn er 300 übersteigt. Nimmer zählen, bis er wieder drunter ist. Und dann wieder eins drauf, wenn er die 300er Marke übersteigt" dann wird das so nicht laufen.
Wenn das nen Maß für die Zeit sein sollen, die er über 300 ist, dann ist der Ansatz doch in die richtige Richtung.