Forum: Mikrocontroller und Digitale Elektronik Register Rs232 Visual Basic


von Joachim H. (husky)


Lesenswert?

Hallo ,

habe eine Frage zum erstellen eines Protokoll für das übertragen von 
Daten per UART.

Habe eine Programm in Visual Basic geschrieben , woim Atmega 8 ein 
Register um +1 erhöt oder um -1 verändert wird.

Das Ergebnis lasse ich mir in einem Textfeld anzeigen.

Wie muß ich herangehen,wenn ich zwei unabhängige Variablen anzeigen 
lassen möchte.

Der Datenaustausch wird immer über UDR (ein Register) abgewickelt.

Welche Möglickeit habe ich in Assembler , das Register mit einem Index 
(Protoll) zu erweitern. das ich auf der Steite PC z.B. die erste stelle 
als ein A auswerten kann.Und den Wert in im Textfeld A anzeigen lasse.

Und wenn z.B. die Variable den Index B hat in dem Textfeld B.

vielen Dank im Voraus

von Peter (Gast)


Lesenswert?

Joachim H. schrieb:
> Der Datenaustausch wird immer über UDR (ein Register) abgewickelt.

es wird immer 1byte gesendet, du kannst dir ein beliebiges Protokoll 
einfallen lassen. Am einfachsten ist ein ein Klaartext Protokoll. Sende 
also statt dem einen Zeichen sotwas wie:

"wert1=5"

und für den 2.wert

"wert2=23";

von Joachim H. (husky)


Lesenswert?

Danke für die schnelle Antwort,

habe noch eine Frage dazu.

wenn z.B Register r19 den Wert 100 hat.

wie sende ich diesen als "wert1=100"  ?

Wenn ich das mit der jetzigen Programm mache geht das nicht.

Mit welchem Befehl kann ich das Register r19 erweitern ?



putchar: sbis UCSRA,5
         rjmp putchar

  out UDR,r19
ret

von Peter (Gast)


Lesenswert?

Joachim H. schrieb:
> habe noch eine Frage dazu.
> wenn z.B Register r19 den Wert 100 hat.
> wie sende ich diesen als "wert1=100"  ?
du musst es der reihe nach senden.

du musst dir den "String" erst im speicher zusammenbauen. Du brauchst 
also im Ram platz für ein 10byte.

Dann schreibst du dir eine funktion die in den Ram die Daten schreibt.

"w", "e","r","t","1","=","1","0","0", 0

als nächsten muss den dein senden erweitern damit er nicht nur ein 
zeichen sonder ein string sendet. Dieser funktion übergibst du denn die 
Adresse von dem String. Du funktion müssen dann alles senden bis eine 
0byte kommt.

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.