AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Über RS232 Port Hex senden und empfangen???
Thema durchsuchen
Ansicht
Themen-Optionen

Über RS232 Port Hex senden und empfangen???

Ein Thema von EDatabaseError · begonnen am 12. Jun 2006 · letzter Beitrag vom 15. Jun 2006
Antwort Antwort
EDatabaseError

Registriert seit: 11. Mai 2005
Ort: Göppingen
1.238 Beiträge
 
Delphi 2007 Professional
 
#1

Über RS232 Port Hex senden und empfangen???

  Alt 12. Jun 2006, 18:38
Kleine Frage wie kann ich über den Comport Hex senden und empfangen??? Hab die Async32 Kps.


Mfg
Tobi
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat
DaFox

Registriert seit: 1. Aug 2003
Ort: Kippenheim
90 Beiträge
 
#2

Re: Über RS232 Port Hex senden und empfangen???

  Alt 12. Jun 2006, 18:45
Hi Tobi,

lange nicht mehr mit AsyncPro gearbeitet, deshalb nur in Theorie:
Du empfängst/sendest 8-Bit Daten über RS232 was also dem Datentyp char/byte entspricht. Diese Bytes kannst du nun in/aus Deinem Schreib-/Lese-Puffer schreiben/lesen und per IntToHex() bzw. StrToInt() in hexadezimaler Form darstellen.

Viele Grüße,
Markus
if u cn rd ths u cn bcm a c prgmr!
  Mit Zitat antworten Zitat
EDatabaseError

Registriert seit: 11. Mai 2005
Ort: Göppingen
1.238 Beiträge
 
Delphi 2007 Professional
 
#3

Re: Über RS232 Port Hex senden und empfangen???

  Alt 12. Jun 2006, 18:50
ja... ich will sie aber nicht als Hex darstellen ich bekomm sie als hex und zwar von einem Motor der NUR Hex kann... Ich muss das zeug in Hex senden da es so sachen wie 1B sind und das ist nicht wirklich ein String.
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat
Benutzerbild von Sharky
Sharky

Registriert seit: 29. Mai 2002
Ort: Frankfurt
8.252 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Über RS232 Port Hex senden und empfangen???

  Alt 13. Jun 2006, 06:24
Zitat von EDatabaseError:
Kleine Frage wie kann ich über den Comport Hex senden und empfangen??? ...
Hai Tobi,

über die RS232 wird ein Byte gesendet. Also ein Zahl.
Dabei ist es völlig egal in welcher Schreibweise diese Zahl im Programm steht.
Delphi-Quellcode:
function BinToInt(Binary: string): Integer;
var
  i: Integer;
begin
  Result := 0;
  for i := Length(Binary) downto 1 do
  begin
    Inc(Result, StrToInt(Binary[i]) * 1 shl (Length(Binary) - i));
  end;
end;

procedure TDemoForm.btn_sendcommandClick(Sender: TObject);
var
  command1: Byte;
  command2: Byte;
  command3: Byte;
begin
  command1 := $1B;
  command1 := 27;
  command3 := BinToInt('11011');
end;
Hier ist es egal welches der drei commands Du sendest; es ist immer das selbe.
Stephan B.
  Mit Zitat antworten Zitat
EDatabaseError

Registriert seit: 11. Mai 2005
Ort: Göppingen
1.238 Beiträge
 
Delphi 2007 Professional
 
#5

Re: Über RS232 Port Hex senden und empfangen???

  Alt 15. Jun 2006, 12:48
Ich hab mal folgendes geschrieben:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
   i:Integer;
   sti:String;
begin
 i := 27;
 sti := Chr(i);
 i := 0;
 sti := sti + Chr(i);
 i := 1;
 sti := sti + Chr(i);
 i := 28;
 sti := sti + Chr(i);
 showmessage(sti);
 Comm1.Write(sti[1], Length(Sti));
end;
und zum empfangen:
Delphi-Quellcode:
procedure TForm1.Comm1RxChar(Sender: TObject; Count: Integer);
var
   buffer: array[0..1024] of Char;
   i1, current: Integer;
   s, sti: String;
begin
 Fillchar(Buffer, SizeOf(buffer), 0);
 Comm1.Read(Buffer, Count);

 showmessage(buffer[0]);
 if Ord(buffer[0]) = 6 then
  begin
   showmessage('ACK');
  end;
 if Ord(buffer[0]) = 21 then
  begin
   showmessage('NAK');
  end;
 if Ord(buffer[0]) = 22 then
  begin
   showmessage('TOUT');
  end;
end;
leider keine Reaktion. Kann leider nicht überprüfen ob das an mir oder dem Gerät liegt
Kann jemand sich das do oben mal durchschaun???


mfg
tobi
Tobias
It's not a bug, it's a feature.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:43 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