Hab am atmega 8 ein poti und nen max232 Do W = Getadc(channel) Waitms 900 Print W Print A Loop If W = A Then Print "RELAIS" Reset A End If Timer_irq: Timer1 = Timervorgabe A = A + 1 Return er zählt A auch braf hoch nur wenn A = W ist, resettet er A nicht sondern zählt munter weiter. Wo liegt mein Fehler?
Hi, leg die Abfrage in die Loop Schleife. Dann sollte es funktionieren. Deine Abfrage steht auserhalb der Schleife. Gruß Kay
Also so: Do W = Getadc(channel) Waitms 900 Print W Print A If W = A Then Print "RELAIS" Reset A Loop End If Timer_irq: Timer1 = Timervorgabe A = A + 1 Return Gruß Kay
Du kannst dir Ärger dieser Art ersparen, wenn du dir angewöhnst Code einzurücken. Vergleiche dein Lösung mit der hier
1 | Do |
2 | |
3 | W = Getadc(channel) |
4 | |
5 | Waitms 900 |
6 | |
7 | Print W |
8 | Print A |
9 | |
10 | If W = A Then |
11 | Print "RELAIS" |
12 | Reset A |
13 | End If |
14 | |
15 | Loop |
16 | |
17 | Timer_irq: |
18 | Timer1 = Timervorgabe |
19 | A = A + 1 |
20 | Return |
Nota Bene ist dadurch auch aufgefallen, dass du das End If nicht innerhalb der do-Loop Schleife hattest.
stimmt das Loop stand außerhalb ... Wenn man den Wald vor lauter Bäumen nicht sieht ...
Do W = Getadc(channel) Waitms 900 Print W Print A If W = A Then Print "RELAIS" A = 0 End If Loop Timer_irq: Timer1 = Timervorgabe A = A + 1 Return So geht das ganze auch noch
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.