AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi COM Port Daten auslesen und auf bestimmtes Char reagieren
Thema durchsuchen
Ansicht
Themen-Optionen

COM Port Daten auslesen und auf bestimmtes Char reagieren

Ein Thema von AJ_Oldendorf · begonnen am 8. Feb 2016 · letzter Beitrag vom 11. Feb 2016
Antwort Antwort
Photoner

Registriert seit: 6. Dez 2012
Ort: Nürnberg
103 Beiträge
 
Delphi 10.1 Berlin Starter
 
#1

AW: COM Port Daten auslesen und auf bestimmtes Char reagieren

  Alt 9. Feb 2016, 12:24
Nil und @rOverlapped ist sicherlich ein Tippfehler oder?
Nein:

"lpNumberOfBytesRead [out, optional]
A pointer to the variable that receives the number of bytes read when using a synchronous hFile parameter. ReadFile sets this value to zero before doing any work or error checking. Use NULL for this parameter if this is an asynchronous operation to avoid potentially erroneous results."

Wenn du mit Overlapped arbeitest, steht nichts sinnvolles in diesem Parameter.
Chris
  Mit Zitat antworten Zitat
AJ_Oldendorf

Registriert seit: 12. Jun 2009
486 Beiträge
 
Delphi 12 Athens
 
#2

AW: COM Port Daten auslesen und auf bestimmtes Char reagieren

  Alt 9. Feb 2016, 12:31
Das lässt sich aber nicht compilieren:

if ReadFile (MyHandle, ReceiveBuffer, 1024, Nil, @rOverlapped) then Kannst du mir mal bitte in meinem Beispiel Source von oben zeigen, wie du das genau meinst?


@himitsu
Das Windows kein Echtzeitsystem ist weiß ich aber wenn ich mal eine Zeitmessung in einem while not Terminated Thread mache, dann komme ich laut Messung auf 10ms
  Mit Zitat antworten Zitat
Photoner

Registriert seit: 6. Dez 2012
Ort: Nürnberg
103 Beiträge
 
Delphi 10.1 Berlin Starter
 
#3

AW: COM Port Daten auslesen und auf bestimmtes Char reagieren

  Alt 9. Feb 2016, 12:44
Das lässt sich aber nicht compilieren:

if ReadFile (MyHandle, ReceiveBuffer, 1024, Nil, @rOverlapped) then Kannst du mir mal bitte in meinem Beispiel Source von oben zeigen, wie du das genau meinst?
Hast recht, das lässt sich nicht kompilieren. Man muss eine Variable angeben. In dieser steht aber kein sinnvoller Wert drinnen wenn ReadFile ein False zurück liefert weil der Zugriff noch nicht komplett ist.
Chris
  Mit Zitat antworten Zitat
Photoner

Registriert seit: 6. Dez 2012
Ort: Nürnberg
103 Beiträge
 
Delphi 10.1 Berlin Starter
 
#4

AW: COM Port Daten auslesen und auf bestimmtes Char reagieren

  Alt 9. Feb 2016, 12:33
Bei Asynchronem Zugriff liefert dir die Funktion

GetOverlappedResult

den gesuchten Wert.

Von der Reihenfolge dann:
WaitCommEvent
WaitForSingleObject
ReadFile
WaitForSingleObject
GetOverlappedResult


Ich habe den Zugriff auf die seriell Schnittstelle bisher nur synchron erledigt. Das mit dem Overlapped macht es sehr viel komplizierter wie man sieht.
Chris
  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 10:54 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz