hallo, mal ne kurze frage; habe hier eine softpwm 8x mit 4tastern 2taster kanal wählen die anderen beiden taster sind zum dimmen bekomme das nicht hin den pwm kanal auzuwählen und diesen zu dimmen, vielleicht könnt mir jemand weiterhelfen MFG KAY
Und was hat das jetzt mit dem im Titel genannten SRAM zu tun? > bekomme das nicht hin den pwm kanal auzuwählen und diesen zu dimmen, > vielleicht könnt mir jemand weiterhelfen An welcher Stelle hakt es denn? Ich denke, dass die wenigsten Forenmitglieder Lust haben, ein 10KB langes Assemblerlisting nach einem Fehler zu durchsuchen, welcher noch nicht einmal näher beschrieben wurde. Gruß, Magnetus P.S.: ich werde dir bei dem Assemblerprogramm nicht helfen können, da ich mich damit noch nicht beschäftigt habe <selbstoutentu>
Hi! Dein Prog ist planlos oder ich bin zu doof es zu verstehen. >;Kopie des PWM-Wertes des aktuellen Kanals nach WL holen >;(wird für dimm und EEP gebraucht): > clr zh ;Pointer auf Sollwert des aktuellen > STS kanal,ZL ;Kanals (Kanal als Index auf Array) > ld wL,z ;Kopie des PWM-Wertes des akt. Kanals holen Kannst du zb. mal erklären was du da machen willst? Ich sehe nicht das ZL irgendwo bearbeitet wird. MFG Uwe
hallo, vielleich ist der der titel nicht passend gewählt? also, das problem ist, wie ich den pwm-kanal auswähle und diesen dann dimmen kann,daran hapert es. tasten: ;UP, fragt entprellte Tasten ab ;zuerst die Kanaltasten: sbrc tfl,chanplus ;RCALL DISPLAYON ;Kanal-Plus-Taste betätigt? - nein... lds wh,KANAL ;Minute aus SRAM holen inc wh ;erhöhen ; sts KANAL,wh ;erstmal zurück ins SRAM ;cpi wh,7 ;Überlauf? sbrc tfl,chanminus ;RCALL DISPLAYON ;Kanal-Minus-Taste betätigt? - nein... lds wh,KANAL dec wh ;erhöhen sts KANAL,wh ;erstmal zurück ins SRAM cpi wh,7 ;Überlauf? ;Kopie des PWM-Wertes des aktuellen Kanals nach WL holen ;(wird für dimm und EEP gebraucht): clr yh ;Pointer auf Sollwert des aktuellen STS kanal,yL ;Aktueller Kanal zu5rück ins sram ld wL,y+ ;Kopie des PWM-Wertes des akt. Kanals holen ;jetzt die Dimmtasten prüfen: andi tfl,dimtast ;alle Tasten außer den Dimmtasten rücksetzen brne dimm ;war eine Dimmtaste betätigt? - ja... tasten_e: ;Ende des UP st z,wl ;Sollwert ins Array zurückschreiben ret ;nein, zurück... dimm: ;ändert Sollwert des aktiven Kanals sbrs tfl,dimplus ;Taste Dimm+? - ja... rjmp dimm1 ;nein, weiter... lds wl,kanal ;Kanalnummer holen ;Dimplus-Taste wurde betätigt ldi yl,low(Sollwerte) ldi yh,high(Sollwerte) lds kanal ;hole den kanal aus dem sram der zuvor mit ;mit dem kanaltasten ausgewählt wurde ;und zurück ins sram geschrieben wurde subi wl,-step ;ja, Sollwert vergrößern cpi wl,pwu ;PWM-Zählumfang überschritten? sts Sollwerte,WL ;;sollwert zurück ins sram brcs dimm1 ;nein... ldi wl,pwu ;ja, auf PWM-Zählumfang begrenzen dimm1: sbrs tfl,dimminus ;Taste Dimm-? - ja... rjmp dimm2 ;nein, weiter... ;Dimminus-Taste wurde betätigt lds kanal ;hole den kanal aus dem sram der zuvor mit ;mit dem kanaltasten ausgewählt wurde ;und zurück ins sram geschrieben wurde subi wl,-step ;ja, Sollwert vergrößern ldi yl,low(Sollwerte) ldi yh,high(Sollwerte) subi WL,step ;ja, Sollwert vermindern sts Sollwerte,WL ;sollwert zurück ins sram brcc dimm2 ;Unterlauf? nein... ; clr wl ;ja, auf 0 setzen dimm2: cbr tfl,dimtast ;Dimmtasten zurücksetzen (Job ist ja erledigt) rjmp tasten_e ;fertig... vielleicht könnt mir da einer von euch weiterhelfen danke mfg kay
So... Wie gesagt: ich hatte mich bis vorhin noch nicht mit Assemblerprogrammierung auf AVRs auseinandergesetzt. Aber nachdem ich (für dich) das Programm durch den Simulator gezogen habe, fällt mir auf, dass die Auswertung der Tastenflags durch den Tim0_OVF-Handler unterbrochen wird (was in diesem Falle vorerst nicht weiter schlimm ist). Innerhalb des Handlers (und der darin aufgerufenen Routinen) werden allerdings die Inhalte von Registern verändert, ohne diese vorher explizit gesichert zu haben. Gruß, Magnetus
hallo , hab nochmal den code angehängt. so das problem ist wie ich in der tasten routine den kanal zb.kanal1 auswähle und den ausgewählten kanal1 dann dimme mit dimminus oder dimplus, da steige ich nich so ganz durch. vielleicht könnte da noch mal einer drüberschauen. danke Gruß, Kay
hallo, danke für die hilfe war zwar nicht sehr hilfreich aber habs trotzdem hinbekommen hat zwar gedauert. ich finds zwar bischen schade das wenn mann nicht so viel Ahnung hat gleich runtergemacht wird, das forum ist ja dazu da sich zu helfen!!!!!!, so das wollte ich mal loswerden. ES SOLLTE SOLTE NICHT BÖSARTIG GEMEINT SEIN. SO SCHÖNES FEST UNF NEN GUTEN RUTSCH
Kay B. wrote: > hallo, > danke für die hilfe war zwar nicht sehr hilfreich aber habs trotzdem > hinbekommen hat zwar gedauert. Und wo lag der Fehler nun? > ich finds zwar bischen schade das wenn mann nicht so viel Ahnung hat > gleich runtergemacht wird, das forum ist ja dazu da sich zu > helfen!!!!!!, Ich hab ja auch versucht zu helfen (obwohl ich mich wie gesagt mit Assembler noch nicht auseinander gesetzt hatte). Du solltest auch nicht gleich alles so negativ sehen. Kritik ist auch was positives. > so das wollte ich mal loswerden. > > ES SOLLTE SOLTE NICHT BÖSARTIG GEMEINT SEIN. Kein Problem ;) > SO SCHÖNES FEST UNF NEN GUTEN RUTSCH Hmmmm... ein bischen früh, aber trotzdem danke ;) Gruß, Magnetus
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.