Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi ComPort hex senden (https://www.delphipraxis.net/47243-comport-hex-senden.html)

Logh 8. Jun 2005 10:22


ComPort hex senden
 
Hallo,

bin wieder auf ein Problem gestoßen!

wollte mit der comport komponente hex Zahlen senden und empfangen.
dazu habe ich

Code:
comport.writestr('C1'); //C1 als hex Zahl gedacht - kann durch jede andere hex Zahl ersetzt werden.
geschriben.

Aber, die Anwendung -das Angeschlossene Gerät ist ohne belang- hat mir nur
mist zurück geschickt.
Frage ist jetzt, ob mit dem obigen code hex Zahlen senden kann?

bitte um Antwort.

Logh

Kedariodakon 8. Jun 2005 10:29

Re: ComPort hex senden
 
Welche Comport Komponente?

Für sowas kann ich TurboPower - Async Professional empfehlen...

Bye

Olli 8. Jun 2005 10:30

Re: ComPort hex senden
 
Schon
Delphi-Quellcode:
comport.writestr(chr($C1));
probiert?

Logh 8. Jun 2005 11:23

Re: ComPort hex senden
 
mit chr kann doch nur die 7 bit ascci version benutzen oder?

ich versuchs mal

danke

runger 8. Jun 2005 11:24

Re: ComPort hex senden
 
Hallo,

du musst dich entscheiden was du willst. Willst du Hex Zahle als ASCI runterschicken, dann ist dein Ansatz richtig, ansonsten der des letzten Beitrags.
Nimm Asynchpro (sourceforge).
Damit hast du keine Problem. Hast du Baudrate Parity.... überprüft und richtig eingestellt?

Rainer

runger 8. Jun 2005 11:25

Re: ComPort hex senden
 
Hallo logh,

nein, woher hast du den Quatsch, wenn deine serielle Schnittstelle auf 8 Bit steht geht das.
Dann werden auch 8 Bit übertragen, das hat absolut nichts mit chr() zu tun.

Rainer

Sharky 8. Jun 2005 11:31

Re: ComPort hex senden
 
Hai Logh,

ersteinmal muss man sich über eine Begriffsdefinition klar sein ;-)

Es gibt keine HEXzahlen. Genausowenig wie Binär / Oktal oder sonst etwas.

HEX ist eine schreibweise für die natürlichen Zahlen.

Jetzt kommt es darauf an was dein serielles Gerät von dir möchte?
Es gibt welche die möchten ihre Befehle als HEX-Zeichenfolge bekommen.

z.B.
Einschalten -> C4 (Es musst also das Zeichen C und das Zeichen 4 gesendet werden.

Dann gibt es wieder welche die möchten einfach nur ein Byte als Befehl haben.
Einschalten -> C4 (Es muss ein Byte mit dem Wert 196 gesendet werden.

Olli 8. Jun 2005 13:55

Re: ComPort hex senden
 
Zitat:

Zitat von Logh
mit chr kann doch nur die 7 bit ascci version benutzen oder?

ASCII ist immer 7bit ;) ... 8bit ist EASCII (wird aber oft noch einfach als ASCII bezeichnet).

Ansonsten kannst du zumindest mit Delphi ab Version 2 davon ausgehen, daß ein Zeichen immer 8Bit ist. Also wird $C1 korrekt übersetzt.

Logh 8. Jun 2005 14:56

Re: ComPort hex senden
 
die frage bleibt offen, denn wie übertrage ich mit comport ein byte?
und wie emppfange ich in hex?

Olli 8. Jun 2005 17:06

Re: ComPort hex senden
 
Es gibt kein "in Hex" Stephan (Sharky) hat doch wunderbar erklärt was hexadezimal bedeutet. Du mußt dir nun also klarwerden, was du schicken willst. Wenn das, was du oben schicken wolltest, ein Byte sein soll, dann mach die Umwandlung wie ich oben geschrieben habe. Ansonsten denk nochmal nach was genau du willst und wie du uns das beibringen willst. Aktuell basieren die Tips nämlich auf Rätselraten :zwinker:


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:14 Uhr.
Seite 1 von 2  1 2      

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