Hallo Ich habe ein Porgramm das die LEDS an Portb hoch dimmt. Nur läuft das Programm nach dem hochdimmen in ner Endlosschleife weiter. Wie kann man erreichen das er nach dem hochdimmen aus der Schleife raus geht? Ich möchte dann das gleiche noch mal durchlaufen, nur das er dann wieder runterdimmen soll also hin und her. (Bin Assemblernewbie) Danke Gruss Ferank
Grundregel 1 des Assemblers: Kommentieren!+Eindeutige Registernamen Erzähl mal, wie das Ding fuktionieren sollte und kommentier den Source... Soweit hab ich das Programm nicht kapiert. dave
in der Endlosschleife bit abfragen! nach dimmen bit setzten! in der schleife das erkennen und isr hochdimmen! zb.: bei avr T flag setzen "set" und dann abfragen! "brts" branch if T is set
danke ich werde es probieren sorry das der Code nicht dokumentiert ist! Gruss Frank
Hi... Du kommentierst den Code ja nicht für UNS sondern für DICH. Daher wird Code nicht nachträglich kommentiert, sondern direkt bei der Eingabe... Du willst also (ohne Einwirkung von außen, wie Tastendruck etc) eine LED hochdimmen und wieder runterdimmen und das immer wieder... Du nutzt dazu keinen Timer, keinen Interrupt und keinen Unterprogrammaufruf (denn dann müsstest du zwingend den Stackpointer initialisieren!). Die Routine zum Hochdimmen hast du (ich habe sie mangels Kommentare nicht geprüft). Häng daran doch die gleiche Routine zum Runterdimmen... Oder besser: Ändere den Dimmwert nicht mit INC / DEC, sondern zähle mit ADD (ein weiteres Register). Dieses weitere Register wird beim Start auf 1 gesetzt. Ist der Maxwert erreicht, setzt du es auf -1 (255), ist der Minwert erreicht, dann wieder auf +1. Somit zählt deine PWM immer rauf und runter... (bis jemand die Nase voll hat und dem Dingens den Strom abschaltet...) ...HanneS...
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.