Gast
#1870335
Hallo, ich habe irgendwie noch ein paar Probleme mir das vorzustellen, wie genau die Pinabfrage funktioniert und mir deshalb einfach mal ein paar Textprogramme geschrieben und geguckt was passiert. Von außen habe ich einen Pin (PD5) vom ATMega8 den ich auf VCC/GND schalte und mit einer Funktion schalte ich eine LED an und aus. Jetzt wollte ich ein simples Programm schreiben, dass wenn PD5 auf VCC liegt die LED leuchten lässt und wenn es auf GND gezogen wird wieder ausschaltet.
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
Der Grund wieso ich gleich while und nicht if nehme ist, weil ich später auf bestimmte Pinstellungen warten möchte und dazu sowieso auf eine leere while Schleife zurückgreifen will. Die Funktion LedSet() macht nicht mehr als den Pin an dem die LED sitzt zu wechseln. Ich habe es nur so gemacht damit es etwas übersichtlicher ist. Die Bedingungen selbst sind praktisch aus dem Internet übernommen :D Wenn ich jetzt PD5 auf VCC ziehe geht die LED an. Wenn ich auf GND ziehe wieder aus, so weit so gut. Damit sie aber danach wieder angeht muss ich sie erst wieder auf VCC ziehen, dann wieder GND und wenn ich sie dann wieder auf VCC ziehe geht sie an. Kann mir jemand erklären, wieso es nicht direkt umschaltet?