Forum: Mikrocontroller und Digitale Elektronik Daten AVR an PC


von Uwe C. (Firma: privat) (olmuk)


Angehängte Dateien:

Lesenswert?

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

von Stefan B. (stefan) Benutzerseite


Angehängte Dateien:

Lesenswert?

Nutze die Macht der Unterroutinen.

von spess53 (Gast)


Lesenswert?

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

von Uwe C. (Firma: privat) (olmuk)


Lesenswert?

@ 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

von Stefan B. (stefan) Benutzerseite


Lesenswert?

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 :)

von Uwe C. (Firma: privat) (olmuk)


Lesenswert?

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
Noch kein Account? Hier anmelden.