Hi Leute, ich brauch mal eure hilfe mit einer veränderten PWM schaltung von mir... ich möchte die farben der rgb led an portb mit einem taster durschschalten, allerdings funktioniert das nicht so ganz wie ich will, anscheinend schaltet das LEDBIT von alleine einfach so durch, ohne dass der taster gedrückt wurde... ich hab leider noch nicht so den planwas asm angeht... wäre super wenn mir jemand sagen könnte was ich falsch gemacht habe Code (siehe Anhang)
>;############################# mein part den ich hinzugefügt habe >############################# Fällt dir irgendein Unterschied zwischen deinem "Part" und den anderen Sachen im Programm auf?
nein, wie gesagt, ich habe nicht so die ahnung von asm, sonst würde ich ja wohl kaum hier im forum posten, wenn ich keine hilfe bräuchte :)
>nein, wie gesagt, ich habe nicht so die ahnung von asm, sonst würde ich >ja wohl kaum hier im forum posten, wenn ich keine hilfe bräuchte :) Du hast an Kommentaren gespart. Ich habe (wie andere auch) nicht besonders viel Ahnung von ASM; da würden Kommentare schon helfen. Aber so wie ich deinen Code-Teil verstehe, hast du ein Entprell-Problem, indem du den Taster scheinbar nicht entprellst. Einfach Code anderer Leute zu nehmen, ihn ohne Sinn und Verstand zu ändern und dann im Forum nach Hilfe fragen finde ich ziemlich daneben (meine persönliche Meinung zu dem Thema).
super, dass man hier gleich so runter gemacht wird. den code habe ich genommen weil ich eine vorlage brauchte, im tutorial stand das man das beispiel leicht abändern kann auf andere controller, desshalb hab ich das genommen... entprellen wollte ich die taster nicht, das nach meiner schleife eh ein sehr langes delay kommt, das eig. ausreichen sollte damit die leds umschalten.. was sie eig. auch tuen. mein problem bezieht sich lediglich auf den LEDBIT wert, der sich komischerweise ändern obwohl der taster NICHT gedrückt ist... also besteht das problem bereits vor dem entprellen.. wie auch immer sorry dass ich so wenig kommentare benutzt habe, ich dachte der code ist einfach zu verstehen, sind ja im prinzip nur (if then) codes. ich hoffe du kannst jetzt hiermit mehr anfangen: sbic PIND, 0 ; ist taster 1 gedrückt dann überspringe rjmp ll9 rjmp ll9 inc r21 ; erhöhe r21 cpi r21,3 ;vergleiche r21 mit 3 breq setnew ;ist r21=3 dann springe zu "setnew" rjmp ll8 ; springe zu "ll8" setnew: ldi r21,0 ; setze den zähler r21 auf 0 ll8: cpi r21,0 ; vergleiche r21 mit 0 brne led2 ; wenn r21 nicht 0 ist dann springe zu led2 .set LEDBIT =0 ;das ledbit setzen rjmp ll9 ; zum ende des codeblocks springen led2: cpi r21,1 ;vergleiche r21 mit 1 brne led3 ;wenn r21 nicht 1 ist dann springe zu led2 .set LEDBIT =1 ;das ledbit setzen rjmp ll9 ;zum ende des codeblocks springen led3: cpi r21,2 ;vergleiche r21 mit 2 brne ll9 ;wenn r21 nicht 2 ist dann springe zum ende des codeblocks .set LEDBIT =2 ;das ledbit setzen ll9:
Ließ mal den Textblock über dem Eingabeformular beim Posten. Wenn du deinen Quelltext mit [ avrasm ]-Tags umgibst, wird der gleich schön formatiert. Und wenn du den Sourcecode als Dateianhang mitschickst, gib ihm eine vernünfige Extension (.asm), dann kann man den auch schön farbig anschauen.
Ah, danke für die Infos, werd ich nächstes mal machen :) Hab das Problem übrigens selbst gelöst.
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.