Forum: Mikrocontroller und Digitale Elektronik Variable setzt sich selbständig zurück


von Fly (Gast)


Angehängte Dateien:

Lesenswert?

Ich habe das angehängte Programm geschrieben um möglichst schnell 
nacheinander den Port D einzulesen. D.h. sobald am INT0 eine steigende 
Flanke erscheint soll der Zustand von Port D immer wieder eingelesen 
werden. Dass solange erneut eine steigende Flanke kommt.Alternativ soll 
die Messung verworfen werden, wenn mehr als 8 mal (maxAbt) gemessen 
wurde. Und da ist das Problem. Die Variable "messung" wird in der ISR 
Funktion INT0_vect zurückgesetzt bevor der Schwellwert 9 erreicht wird 
und damit die ISR verlassen wird. Je nach Einstellung der Optimierungen 
00 - 0s im AVRStudio bekomme ich auch anderes Verhalten.
Was mach ich falsch?

von Fly (Gast)


Angehängte Dateien:

Lesenswert?

Hat sich erledigt!

Die Variable "stepZustand[maxAbt]" wurde einmal mehr benutzt als 
initalisiert, dabei überschrieb sie den Wert von "messung".
Anbei das funktionierende Programm mit "stepZustand[maxAbt+1]".

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.