Delphi-PRAXiS
Seite 1 von 5  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi async Fragen (https://www.delphipraxis.net/53228-async-fragen.html)

xeus 12. Sep 2005 17:16


async Fragen
 
Hallo zusammen,
mit hilfe von profis aus diesem board, habe ich es schon geschaft
binäre daten über den comport zusenden.

apdcomport1.putstring(#10);

nun ist nur noch das problem, dass ich auch daten empfangen muss

nun hab ich allerdings keinen plan wie ich das anstellen kann.
am schönsten wärs, wenn ich eine funktion oder prozedur hätte, der immer 1 byte von den insgesammt acht in eine variable speichert, also dass ich am schluss insgesammt acht variablen hab z.b. byte1 - byte8.

wär super wenn mir bei meinem problem jemand helfen könnte

xeus

Borti 12. Sep 2005 17:35

Re: async Fragen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,
ich will ja nicht die profis unterlaufen, aber ich hätt da auch eine funktionierende Methode für Senden und Empfangen vom Com-Port anzubieten:
Man lade sich diese DLL runter http://www.geekhideout.com/iodll.shtml und verfahre nach dem angehängten PDF-Dokument.
ich hab mir so schon selbst ein kleines terminal für die RS232 geschrieben. Das einzige problem ist, dass ich bisher auf keine Interrupts der Schnittstelle hören kann.
Gruß,
Borti

alzaimar 12. Sep 2005 17:48

Re: async Fragen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Oder, ganz ohne DLL, dafür uralt, mit Komponente und echt simpel:
Die war noch Freeware: Ich hatte nie Probleme damit, obwohl die Implementierung eines Protokolls nicht so einfach ist, da die Komponente komplett eventgesteuert ist. Aber einen Versuch ists wert...

marabu 12. Sep 2005 17:54

Re: async Fragen
 
Hi,

nur für den Fall, dass AsyncPro immer noch eine Chance hat - eine Antwort hatte ich im original thread gepostet: klick

Grüße vom marabu

xeus 13. Sep 2005 06:20

Re: async Fragen
 
Will eigentlich schon mit async weitermachen.
hab den code soweit übernommen, schmeist er mir einige fehler aus:

comport: undef bezeichnung
receivebuffer1: "

hilfe, danke

xeus 13. Sep 2005 06:26

Re: async Fragen
 
OK,
hab den fehler selber beheben können.
nur zum verstzändniss:

die über die schnittstelle eingehenden daten, werden im puffer hinterlegt. in welcher form werden sie hinterlegt, werden alle daten hintereinander eingefügt, oder gibt es für jedes byte einen puffer? oder wie kann ich jedes kommende byte seperat abbarbeiten? am schönsten wäre es, wenn er mir jedes byte in eine var hinterlegt, z.b
byte1 = b1
..
byte8 = b8

so das ich mit diesen inhalten in anderen proceduren weiter arbeiten kann.

vielen dank

marabu 13. Sep 2005 06:52

Re: async Fragen
 
Hi,

sobald die empfangenen Daten im Empfangspuffer abgelegt wurden, kannst du jedes Byte über seinen Index ansprechen:

Delphi-Quellcode:
var
  i: integer;
begin
  Memo.Clear;
  for i := Low(ReceiveBuffer1) to High(ReceiveBuffer1) do
    Memo.Lines.Add(Format('Byte %d hat den Wert %d', [i, ReceiveBuffer1[i]]));
end;
Grüße vom marabu

xeus 13. Sep 2005 07:14

Re: async Fragen
 
suupppiii,
und wie kann ich den puffer, wieder löschen?

marabu 13. Sep 2005 07:19

Re: async Fragen
 
Delphi-Quellcode:
SetLength(ReceiveBuffer1, 0);
Aber du wirst doch nicht etwa so weiter machen wollen? Einen "Ringpuffer" hatte ich dir nahe gelegt...

marabu

xeus 13. Sep 2005 07:26

Re: async Fragen
 
ertsmal danke, für deine ganze hilfe.
ich bin mir sicher, das es mit einem ringbuffer besser geht.
nur das problem ist, dass ich nicht weiss was ein ringbuffer ist, und wie ich ihn erzeuge


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:47 Uhr.
Seite 1 von 5  1 23     Letzte »    

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