Hallo zusammen,
Ich habe da mal wieder eine Sache wo ich nicht weiterkomme und ich
dankbar für einen Tipp wäre.
Zum Ablauf, ein Antrieb fährt auch, und Meldet seinen offenen Zustand
über einen Enlagenschalter und lässt einen Lüfter laufen. Fährt die
Klappe nun wieder zu(Enlagenschalter weg), soll der Lüfter aufhören zu
laufen.
Meine Idee wahr bisher:
If (PIND&(1 <<PIND1)) //Wenn Antrieb auf
{
PORTA|=(1 <<PA0); // Lüfter einschalten
}else
{
PORTA&=~(1 <<PA0);//Lüfter ausschalten
Jedoch startet der Lüfter zwar wenn der Enlagenschalter die
Startbedingung gibt, jedoch hört er nicht wieder auf wenn der Antrieb
wieder zu fährt.
Danke
Gruß
Ein Bit setzt man mit einer "oder"-Verknüpfung. z.B. or 00100000 Ein Bit löscht man mit einer "und"-Verknüpfung. z.B. and 11011111 Joe
Joe schrieb: > Ein Bit setzt man mit einer "oder"-Verknüpfung. z.B. or 00100000 > Ein Bit löscht man mit einer "und"-Verknüpfung. z.B. and 11011111 > > Joe Ich wahr der Meinung das würde ich tun.
Pullup oder pulldown am Enlagenschalter vorhanden? Setzt einen Breakpoint in den else-Zweig. Der wird bestimmt nie angesprungen.
Bitte poste dein komplettes Programm. Wenn du das nicht preisgeben möchtest, schrumpfe deinen Code soweit wie es geht, so, dass du den Fehler noch nachstellen kannst.
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.