Hallo,
in deinem jetzigen Programm würdest du andauernd in die Speichern-Routine springen, da "Startzähler" nicht zurück gesetzt wird und damit machst du dir dein EEPROM kaputt.
Mal eine ganz doofe Frage meinerseits.....wieso machst du es nicht einfach das es beim Tastendruck gespeichert wird?
Finde ich persönlich einfacher als sowas.
Zu deiner Frage.....was meinst du bis wieviel der in einer Do-Loop zählt?
Im Moment läuft es so ab, das er bei Startzähler = 1 die Variable Zählwert erhöht und das solange bis die Variable einen bestimmten Wert erreicht hat. Danach wird sie auf 0 gesetzt und Sekunde um 1 erhöht. Das ganze macht er 30x bis Sekunde = 30 ist und dann geht er ins Programm speichern und danach geht der ganze rummel von vorne los.
Du kannst also die "Zeit" bis die 30 erreicht sind dadurch bestimmen indem du den Wert XXXXX sag ich mal von 16000 auf 32000 erhöhst.
Die Zeit die der Controller braucht um das Hauptprogramm abzuarbeiten wird durch die Befehle im Programm (ISRs und Subs mit eingeschlossen) beeinflusst.
Je mehr Befehle desto mehr Zeit braucht er.
Du kannst es ausrechnen indem du dir anguckst was der Compiler aus jedem Befehl macht, dir dann anschaust wieviel Taktzyklen die Befehle brauchen, die zusammenrechnest und dann hast du die Zeit.
Einfacherer Weg wäre du togglest am Anfang deines Programmes einen Pin und schaust mitm Oszi wie hoch der Takt ist. Dann weißt du wieviel Sekunden vergehen bevor der Controller wieder am Anfang vom Programm ist.
Lesezeichen