Hallo! Ich wollte mein Programm warten lassen bis Tasterdruck erfolgt:
1 | while(1){ |
2 | if(PINB&(1<<PB1)){ |
3 | break; |
4 | }
|
5 | }
|
Aber das programm reagiert nicht auf den Tasterdruck dass es dann aus der Schleife raus geht, warum?
|
Forum: Mikrocontroller und Digitale Elektronik Warten bis Tasterdruck erfolgtHallo! Ich wollte mein Programm warten lassen bis Tasterdruck erfolgt:
Aber das programm reagiert nicht auf den Tasterdruck dass es dann aus der Schleife raus geht, warum? Was soll dann denn geschehen ? Led leuchten lassen? Zeig mal. Zu Testen kann man ja so machen, in der Praxis ist das aber quatsch. Ist der Pin auf Eingang geschaltet? WIe ist der Taster verschaltet? Hast du einen Pullup/Pulldown Widerstand. Auf Deutsch: Zeig alles! Das Problem ist nicht in den 3 Zeilen Code. Dass die nicht die Ursache sind, siehst du selber. Wir sehen da auch nichts anderes. Also liegt das Problem im Umfeld. Das aber zeigst du nicht.
Und digRead:
-> gibt 1 oder 0 zurück... Martin Fischer schrieb: > [zur Problemlösung nutzloser Code] Welchen Teil von 'Zeig alles!' verstehst du nicht? :
Bearbeitet durch User
Martin Fischer schrieb: > Was ist denn nun? Erst rummeckern und jetzt nicht helfen? Ich hab auch noch anderes zu tun, als mich nur um deinen Code zu kümmern
erstens sind die Argumnente schon mal falsch rum. Zweitens kann das so nicht funktionieren. Denn beim Aufruf der Funktion kalibrierung wird hier
der aktuelle Zustand des PINB ermittelt und an die Funktion übergeben. Innerhalb der Funktion ändert sich der aber nicht mehr, weil ja das PIN-Register überhaupt nicht mehr abgefragt wird, sondern hier
immer wieder lediglich auf den in pin gespeicherten Zustand zum Zeitpunkt des Funktionsaufrufs zurückgegriffen wird. Und der ist logischerweise immer derselbe. :
Bearbeitet durch User
Karl Heinz schrieb: > erstens sind die Argumnente schon mal falsch rum. Nehm ich zurück. Deine Variablenbezeichnungen sind zwar verwirrend, aber die Verwendung ist korrekt. Bis eben darauf, dass das so grundsätzlich nicht funktioniert. Teo Derix schrieb: > Martin Fischer schrieb: >> Was ist denn nun? Erst rummeckern und jetzt nicht helfen? > > Und... Tschüss Ganz normal. Quer durch das Forum glänzt Martin durch eine interessante Mischung aus absolutem Unwissen, keinerlei Ansatz irgendwelches Verständniss der Materie aufzubringen und penetranter Dreistigkeit ("malt mir einen Schaltplan und sagt mir genau was ich wo anschließen muss und schnell gefälligst"). Von mir gibts da inzwischen nix mehr. Eine Tastenabfrage wird NIE !!!!! so gemacht. Siehe auch "entprellen" 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
Noch kein Account? Hier anmelden.
|
|