VBNET Serial Port Zeitstempel

Gast #7006785
Lesenswert?

Abend,

folgendes: Ich muss einen String in HEX an einen COM Port (RS232) 
senden. Dieser String muss im Hintergrund alle x Sekunden gesendet 
werden, das habe ich ganz einfach per Timer realisiert.
Ein Zeichen in diesem vorgegebenen String muss eine Art Zähler / 
Zeitstempel sein. Es ist immer beim neu-verbinden 01, dann beim nächsten 
senden (macht der Timer ja alle paar Sekunden) 02,03 etc.. ich denke das 
ist logisch.

Nun frage ich mich, wie ich das am einfachsten umsetzen könnte.

Ich arbeite mit
1
Comport.Write (str, ReadToEnd)
, während der String vorher mit
1
Dim str As Byte = {&H01, &Hff, &H05, &x, &H9f}
 eingebunden ist. "&x" beim Beispiel soll der Zähler sein... mein "&x" 
wird aber nicht akzeptiert. Ich habe es mit While Loop versucht. Also x 
= bla bla.

Das Hauptproblem liegt aber darin dass ich in meinen String zwischen die 
feste Werte (01 ff 05 [Zähler] 09) eben diesen Zähler nicht einfach bei 
Comport.write einfügen kann.

Hat da jemand eine Idee?
Danke!!
Gast #7007081
Lesenswert?

c-hater schrieb:
> Lerne Programmieren!

Sehr gute Idee.

Ich würde es SO lösen.

die variable

public my_count as Integer

bei Start deklarieren

Beim Aufruf der Sende_sub macht man folgendes

my_count = my_count + 1

Dann my_count umwandeln und an den Sende-String vorne dranhängen.

Fertig.

Hinweis:

str ist als variblen_name MIST. Es ist ein erlaubter Fehler in VB das 
man Befehle via DIM Befehl zu Variablen machen kann. Also machst du erst 
mal aus str die Varible Sende_str.

str = ist ein Befehlsfunktion .  Die wandelt Zahlen in Text um.

Beispiel.

text = Str(10)
Text = "10"

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren