Hallo zusammen, ich bin gerade dabei eine Schaltung zur Flüssigkeitsabsaugung zu entwerfen. Zwei Sensoren detektieren (durch aktives Polling) den Flüssigkeitsstand . Die Pumpe soll einschalten, sobald der obere Sensor aktiv ist(Sensoren sind nullaktiv) und ausschalten wenn der Flüssigkeitspegel den unteren Sensor erreicht hat. Die Grundfunktion funktioniert schon. Nun möchte ich aber, dass eine Warn-LED blinkt, sobald der obere Sensor aktiv ist und der untere Sensor nicht aktiv ist (das weist auf einen Fehlerfall der Sensoren hin). Das Blinken möchte ich mit einem Timer im CTC mode realisieren. Wenn ich den Fehlerfall auf meinem Board simuliere, geht die Warn-LED zwar an, blinkt aber nicht. Wenn ich die verwendete Timterfuntion in einem extra Programm starte, bringe ich die LED zum blinken. Im Anhang befindet sich der Programmiercode. Ich würde mich sehr freuen, wenn mir jemand mit meinem Problem weiterhelfen könnte. Gruß Spock53 ich habe gerade gesehen, dass die Variable "fehler" keine datentyp hat im Quelltext hat. Im programmers notepad wird der datentyp angezeigt . hier steht "int8_t" davor.
1 | if((millisekunden>120) & (PINB & (1<<PINB2)) ) |
2 | else if ((millisekunden >33) & (!(PINB & (1<<PINB2)))) |
3 | if((PINC & ((1<<PINC0) | (1<<PINC1)))==0) |
4 | else if( (PINC & ( (1<<PINC0))) & !(PINC & (1<<PINC1))) |
Alle diese Zeilen sind falsch. Bitte mal informieren über den Unterschied zwischen den bitweisen Operatoren (z.B. &) und den logischen Operatoren (z.B. &&).
da habe ich doch vor lauter Bäumen den Wald nicht gesehen ;) Jetzt gehts. Vielen dank für deine schnelle Hilfe. Gruß Spock53
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.