C-Programm Flüssigkeitsregelung. Timer Problem

OP #2156846
Lesenswert?

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.
Angehängte Dateien:
#2156855
Lesenswert?

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. &&).

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