AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

COM Port Event?

Ein Thema von Zerolith · begonnen am 4. Jul 2005 · letzter Beitrag vom 5. Jul 2005
Antwort Antwort
Zerolith

Registriert seit: 12. Mär 2003
Ort: Kempten
188 Beiträge
 
Delphi 6 Enterprise
 
#1

COM Port Event?

  Alt 4. Jul 2005, 16:11
Tag!

also ich habe mittlerweile erfolgreich eine kleine Klasse geschrieben die mir Zeitgesteuert Daten von der Seriellen Schnittstelle ließt.

jetzt hab ich mir letztens als kleines Spielzeug eine Infrarot Fernbedienung gekauft. Die ich theoretisch mit meiner Klasse ansteuern kann. Nur sendet dieses Ding die ganze Zeit irgendeinen Müll. Und es dauert sehr lange bis ich 24 Byte ausgelesen hab (wundert mich auch).

so... da liegt auch ne Sofware bei - die macht das ganze eigentlich ganz toll. Nur ist sie mir zu blöd. Unterstützt WinAmp nicht vollständig usw.

Meine Frage nun: Kann ich irgendwie ein Event Abfragen das ausgelößt wird sobald an der COM Schnittstelle Daten ankommen?

oder Hat jemand eine bessere lösung als sowas:

Delphi-Quellcode:
Function GetCOMPortHandle: THandle;
Begin
  Result := CreateFile('Com4', GENERIC_READ Or GENERIC_WRITE, 0, Nil, 0, 0, 0);
End;

Function RecieveByte(COMHandle: THandle): Byte;
Var
  tmp: cardinal;
  ByteToRead: Byte;
Begin
  ReadFile(COMHandle, BytetoRead, 2, tmp, Nil);
  Result := ByteToRead;
End;

Procedure TForm1.FormCreate(Sender: TObject);
Begin
  com := GetCOMPortHandle;
End;

Procedure TForm1.Timer1Timer(Sender: TObject);
Var tmp: integer;
Begin
  tmp := RecieveByte(com);
  If tmp <> 217 and 0 Then // Nur um den "Müll" zu ignorieren...
    memo1.lines.add(inttostr(tmp));
End;
Danke, Daniel
Daniel
  Mit Zitat antworten Zitat
Benutzerbild von x000x
x000x

Registriert seit: 21. Jan 2004
Ort: Bei Hamburg
308 Beiträge
 
Delphi XE2 Professional
 
#2

Re: COM Port Event?

  Alt 4. Jul 2005, 22:49
Moin moin,
Zitat von Zerolith:
Meine Frage nun: Kann ich irgendwie ein Event Abfragen das ausgelößt wird sobald an der COM Schnittstelle Daten ankommen?
Die Antwort ist: MSDN-Library durchsuchenWaitCommEvent

PS: Schau dir mal die Source von synaser.zip
... und hier ist noch ein ComPort-Sniffer ... ist bestimmt auch ganz hilfreich
Peter
-= Gruss Peter =-
-= alias x000x =-
  Mit Zitat antworten Zitat
Zerolith

Registriert seit: 12. Mär 2003
Ort: Kempten
188 Beiträge
 
Delphi 6 Enterprise
 
#3

Re: COM Port Event?

  Alt 5. Jul 2005, 09:44
Super, vielen Dank

werde ich mir heut abend anschauen.
Daniel
  Mit Zitat antworten Zitat
DerDan

Registriert seit: 15. Nov 2004
Ort: Donaueschingen
251 Beiträge
 
Delphi XE3 Professional
 
#4

Re: COM Port Event?

  Alt 5. Jul 2005, 10:32
Ich würde eine ComPort Library einsetzen.

Ich persöhnlich Benutze CPort von
CPort Source Forge
in bin damit auserordentlich zufrieden.


DerDan
nichts ist so schön wie man es sich vorstellt
  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:53 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