Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   ComPort Library: Hex-Wert direkt senden (https://www.delphipraxis.net/208227-comport-library-hex-wert-direkt-senden.html)

trabi-basti 29. Jun 2021 21:49

ComPort Library: Hex-Wert direkt senden
 
Hallo zusammen,

ich möchte über den COM-Port Daten an einen Mikrocontroller senden. Die Daten habe ich in einem Edit hinterlegt im Hex-Format.
Ich habe mir die ComPort Library von sourceforge heruntergeladen. Dort gibt es den Aufruf ComPort.WriteStr(Übergabestring), welche den "Übergabestring" als ASCII überträgt.

Das bedeutet, dass meine Eingabe im Edit Feld natürlich als ASCII verstanden wird und nicht als Hex-Wert.

Wie kann ich eine Konvertierung erreichen, die den Inhalt des Edits nicht als Text sondern als Hex-Wert versteht?

ComPort.WriteStr(chr($0A)) überträgt den Hex-Wert "0x0A" ordnungsgemäß. Ich habe leider keine Möglichkeit gefunden, eine "0A", die ich im Edit eintrage, an dieser Stelle als chr($0A) zu übergeben.

Im Netz habe ich schon gesucht, es finden sich zu Hauf Code-Schnipsel die ASCII in Hex umwandeln oder umgedreht. ich möchte aber eben einen als Text vorhandenen Hex-Wert so an den ComPort senden, wie er ist.

Ich hoffe, ihr konntet mir folgen und versteht mein Anliegen.

Danke und viele Grüße
Sebbel

trabi-basti 29. Jun 2021 22:15

AW: ComPort Library: Hex-Wert direkt senden
 
Ich habe noch eine zweite Funktion gefunden, mit "ComPort.Write" funktioniert mein Vorhaben.
Der Vollständigkeit halber hier meine Lösung, falls zukünftig nochmal jemand das gleiche Problem haben sollte:

procedure ComPortSendHex(hexstring: string);
var character: byte;
begin
character:= StrToInt('$'+hexstring);
ComPort.Write(character,1);
end;

Es ist sicherlichlich nicht die eleganteste Lösung, Verbesserungsvorschläge sind natürich gern gesehen.
Ansonsten kann der Thread natürlich auch geschlossen werden.

Viele Grüße
Sebbel


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:13 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz