Du könntest z.B. zwei Pointer verwenden.
Einer zeigt immer auf die letzte beschriebene Zelle (oder auf die nächste zu schreiben) und der zweite immer auf die zuletzt gelesene (oder auf die nächste zu lesen).
Wenn der Lese-Pointer gleich dem schreib-Pointer wird, heißt das, dass alle Werte übertragen wurden. Wird der Schreib-Pointer gleich dem Lese-Pointer, ist dein Array voll.
Kommen denn deine Impulse vom Zähler überhaupt so schnell, dass du nicht genügend Zeit zum Senden hast?
Das geschieht automatisch. Während der Abarbeitung einer ISR sind weitere Interrupts gesperrt. Allerdings werden die entsprechenden Flags gesetzt, wenn eine Interrupt Bedingung zutrifft. Sobald dann die ISR verlassen wird, werden die interrupts wieder global zugelassen. Bereits gesetzte Flags führen dann zum Aufruf der zugehörigen ISR.Zitat von Flario
Allerdings nur jeder Typ einmal, wie du schon vermutet hast.
Lesezeichen