Hallo, ich habe folgenddes Problem: wenn ich beim ATtiny2313 einen Pin von PortD als Eingang schalte erhalte ich keinen definierten Zustand? BSP: PORTD = (1<<6); // Pull up D6 einschalten if PIND &= (1<<6){LED an} else {LED aus} Ergebnis: wenn PIND 6 = HIGH ( taster nicht gedrückt) geht die LED mal an und aus recht zufällig?? benutze ich PORTB funktionierts einwandfrei. Ich hab schon verschiedene PINS auf PORTD probiert, auf allen das selbe. bin völlig ratlos und hoffe auf hilfe!! Ich hoffe ich konnte das Problem richtig beschreiben. Da ich nur das Problem auf PORTD hab muss die Abfrage korrekt sein. (Ist ja eigentlich auch nicht schwierig) was ist an PORTD anders?
Man muss den Port auch als Eingang definieren, oder hab ich da was übersehen?
Sind die Ports nicht default auf Eingang und müssen nur als Ausgang definiert werden?
achim b. schrieb: > Da ich nur das > Problem auf PORTD hab muss die Abfrage korrekt sein. Diese Schlussfolgerung ist nicht richtig. Und die Abfrage unter "BSP:" ist schon mal falsch. Ist ja aber auch nur irgendein eingetippter Märchen-Code. Wer weiß schon, wie der echte aussieht.
dir ist schon klar was "und gleich" (&=) macht ? so sollte es gehen :
1 | if(PIND & (1<<PD6)){ |
2 | // irgendwas machen.. |
3 | } |
Jetzt wundert mich nur, dass der stuss an PORTB funktioniret hat - wohl zufall gewesen??
achim b. schrieb: > Jetzt wundert mich nur, dass der stuss an PORTB funktioniret hat - wohl > zufall gewesen?? mich wundert eher das er das kompilieren bekommen hat.
Ja hat er sogar ohne Fehler oder Warnung. Auf jedenfall jetzt gehts ohne probleme :)
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.