Hallo Leute, ich habe eine Frage, ich hoffe ihr könnt mir dabei
helfen...
Also es geht darum eine PWM im KeilµVision2 zu programmieren, danach
sollte dieses Programm In den AN2131 gespielt werden. Am Ausgang von
einem Pin soll dann ein PWM signal rauskommen. Ich habe mich informiert
in andere Foren und bin auf folgendes gestossen:
int pwm_wert;
do {
for(int i=0;i<30;i++) {
if (i>pwm_wert)
PORT_ANSCHALTEN()
else
PORT_ABSCHALTEN();
}
} while (1)
Aber ich verstehe das nicht , esagen wir
mal das pwm_wert =10 ist. Das heisst dann das der Ausgang 0 ist weil ja
i nicht größer als 10 ist. So sagen wir das die schleife jetzt bei 11
angelangt ist, dann schaltet alles durch. Und danach bleibt ja immer
alles durchgeschaltet weil ja das ''i'' dann immer grödßer bleibt, dh.
es kommt ja dann nicht mehr zum einschalten oder?
Könnte das stimmen ? Danke im Vorhinein
Gruß Andreas
Andreas Seitner schrieb: > angelangt ist, dann schaltet alles durch. Und danach bleibt ja immer > alles durchgeschaltet weil ja das ''i'' dann immer grödßer bleibt, dh. irgendwann ist das i gleich 30 geworden und die for-schleife hört auf. Dadurch kommt dann die aussere while Schliefe wieder zum Zug und alles beginnt wieder von vorne. i wird wieder 0 und wird in der for-Schleife wieder um 1 hochgezählt. > Könnte das stimmen ? Danke im Vorhinein Du hast mit deiner gedanklichen 'Simulation' zu früh aufgehört.
Bei der nächsten Iteration der While-Schleife ist i aber wieder kleiner als pwm_wert.
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.