Hallo, ich habe hier 4 Module die untereinander mit einem eigenen Protokoll kommunizieren. In einem Task wird abgefragt ob Daten zum Senden verfügbar sind und dann dementsprechend gesendet. Jetzt möchte ich gerne eine Zustandswechselabfrage machen. Und zwar soll, wenn der Schalter von 1 auf 0 gesetzt wird eine 0 gesendet werden, wenn der Schalter von 0 auf 1 gesetzt wird eine 1. Die Frage dabei ist, wie ich das 0 auf 1 bzw. 1 auf 0 schalten programmiere und abfrage. Wenn ich den Zustand des Pins einfach nur Abfrage, dann funktioniert das ganze nicht, weil dann würde ja immer beim Zustand 0 oder beim Zustand 1, auch wenn kein Wechsel stattgefunden hat etwas gesendet. Es soll aber nur etwas gesendet werden wenn ein Zustandswechsel sattgefunden hat. Der Task zur Datenabfrage wird periodisch aufgerufen. Es soll mit den 4 Modulen eine Art Treppenhausschaltung realisiert werden um zu demonstrieren, das die Kommunikation funktioniert. Vielen Dank Gruß paule
while(1) { if (pin == 0 && pin_alt == 1) { send(0) pin_alt = 0; } if (pin == 1 && pin_alt == 0) { send(1) pin_alt = 1; } }
Zur Initialisierung setze ich dann: pin_alt = 0 und der Zustand des Schalter muss auch = 0 sein, richtig? Gruß paule
wenn nur der wechsel interesant ist dann setzt du zur initialisierung pin_alt = pin
Super vielen Dank, ich stand da irgendwie auf dem Schlauch. Aber jetzt weiss ich wie ich weiter vorgehen muss. Gruß paule
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.