Attiny 13 als Schwellwertschalter

OP #1763685
Lesenswert?

moin,

folgendes Szenario,

mit oben aufgeführtem Code versuche ich einen Strom zu messen und bei 
Unterschreitung, in angemessener Zeit, eine LED_Gruen am Ausgang zu 
schalten.

Leider funktioniert der Code nur einmal. Wenn ich nach einmaligem 
Durchlauf wieder den Strom erhöhe müsste wieder die LED_Rot wieder 
leuchten.

1) Warum funktioniert die Schleife nur einmal?
2) Wie kann ich das vielleicht anders realisieren?

Im Versuchsaufbau habe ich ein Potentiometer am ADC Eingang.

Der Strom wird gemessen mit einem AC 1020 und wird anschliessend 
gleichgerichtet.

Bitte mit Nachsicht behandeln, ist mein erstes Projekt mit AVR.

Danke Raik
Angehängte Dateien:
#1763692
Lesenswert?

Dein Code ist ... massig komplizierter als notwendig für die 
beschriebene Aufgabenstellung. Das jetzt zu analysieren bei welchem 
while welches Flag falsch steht etc. ist viel zu umständlich.

Schreib das ganze noch mal. Aber schreib es diesmal deutlich einfacher.
Du brauchst nur 1 Endlos-Schleife und das ist die Hauptschleife in 
main() (bei dir for(;;)). Alle anderen Schleifen sind überflüssig und 
verwirren nur.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren