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.