Hallo, kann mir bitte jemand bei folgendem Problem helfen : Ich habe zwei Zählerstände mit Low- und Highbyte (im Programm erstmal auf Simulation STK 500 angepsaat- betrifft auch die LED's ). Diese Werte möchte ich auf den PC übertragen und in Profilab Expert weiterverarbeiten. Mit einem Wert komme ich zurecht, aber nun möchte ich ja beide übertragen. Die Wandlung in ASCII ist notwendig. Nun die Frage : Wie kann ich den dargestellten Ablauf duplizieren und mit einem Trennzeichen(;) versehen? Mir gehen langsam die Register aus und es gibt mit Sicherheit eine elegantere Lösung. Vielen Dank im voraus Gruß Uwe
Hi Und nutze die Macht der der Assemblerbefehle.
1 | in temp,key_pin ;Eingänge lesen |
2 | lsr temp |
3 | brcc count_up1 |
4 | lsr temp |
5 | brcc count_up1 |
6 | lsr temp |
7 | brcc count_down |
8 | lsr temp |
9 | brcc count_up2 |
10 | lsr temp |
11 | brcc count_up2 |
12 | lsr temp |
13 | brcc count_down2 |
14 | rjmp key |
MfG Spess
@ Stefan B. : vielen Dank !! Heisst Durchfall = Müll ? Wird gleich probiert und versuche es nachzuvollziehen. @spess53 : auch vielen Dank - damit kann ich dann wohl den Müll ersetzen. Na ja, aller Anfang ist schwer und ich versuch mir mein Projekt aus Schnipseln zusammen zu bauen. Zum Glück gibt es Hilfe ! Gruss Uwe
Durchfall heisst, der Code rattert durch diese Stelle weiter und das kommt mir auf den ersten oberflächlichen Blick komisch vor. Es kann vom Programmierer so gewollt sein, wie z.B. an der Stelle, die ich mit implizit kommentiert habe. Ähnliche Stellen im Code verwenden dort ein rjmp delay, aber das nächste Label ist bereits das delay:, daher kann man die rjmp delay Anweisung "einsparen". Das kann aber Probleme machen, wenn man keinen Kommentar dort stehen hat und mit Copy&Paste den Code für andere Zwecke an andere Stellen kopiert - schwupp ist die Verbindung "nächste Anweisung ist das delay, also kann ich den rjmp sparen" weg und es passiert komisches. Ich würde immer das rjmp setzen. Wenn es mal auf die paar daurch eingesparte Bytes oder Takte ankommt, ist es sowieso Zeit den Code zu refaktorieren und zu optimieren. Bei fremdem Code kann man nicht unbedingt sagen, was sich der Programmierer dort gedacht hat. Wenn man es einfach ändert, dann ist der Programmablauf ja anders. Deshalb der fette Kommentar mit den Drei Fragezeichen :)
Es funktioniert - ich bekomme die Werte getrennt gesendet und ausgewertet. Der rjmp delay war ungewollt - danke für den Hinweis. Sollte jemand Interesse an der PC-Seite ( mit Profilab ) haben, bitte melden und vielleicht kann ich etwas helfen. Nochmals danke !
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.