AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi komisches Verhalten der RS232-Schnittstelle/ ComPort
Thema durchsuchen
Ansicht
Themen-Optionen

komisches Verhalten der RS232-Schnittstelle/ ComPort

Ein Thema von BAMatze · begonnen am 30. Sep 2009 · letzter Beitrag vom 5. Okt 2009
 
BAMatze

Registriert seit: 18. Aug 2008
Ort: Berlin
759 Beiträge
 
Turbo Delphi für Win32
 
#1

komisches Verhalten der RS232-Schnittstelle/ ComPort

  Alt 30. Sep 2009, 08:18
Hallo und guten Morgen an alle,

Also hatte schon länger ein paar Probleme mit meinem Programm, die ich mir bisher nicht erklären konnte und habe mir eine kleine Erweiterung gebaut, bei der ich ein paar Überprüfungen wärend des Betriebes mache. Unter anderem ist dort ein Comport-scanner dabei, der mir auch Events erzeugt, wenn ein Comport dazu kommt. Dies funktioniert auch sehr gut, ALLERDINGS habe ich das Problem, dass bei einem Gerät der Comport nach 2-3 Sekunden anscheinend wieder verschwindet.
Ich benutze die ganz normalen Befehle für dieses Gerät und initialisieren/ terminiere dort über open- und close-Befehle.
Jetzt meine Frage (habe mit der RS232-Schnittstellenprogrammierung noch keine Erfahrungen): Kann es sein, dass der Comport (normal wird er mit anstecken des USB-Steckers registriert) verschwindet, wenn der close-Befehl an den Microcontroler des Gerätes geschickt wird?

Hoffe jemand kann mir dort helfen oder kennt ne gute Quelle/ Tut wo man sich das im Groben mal aneignen kann.
Vielen Dank im Voraus
BAMatze

[EDIT]
also ich verwende folgende Prozedure zu Comport-Findung:

Delphi-Quellcode:
function TComport.ComPort(ComPortNummer: byte): longbool;
var TestHandle : integer;
begin TestHandle :=CreateFile(PChar('\\.\COM'+IntToStr(ComPortNummer)),GENERIC_READ or GENERIC_WRITE,0,
                              nil,OPEN_EXISTING,FILE_FLAG_OVERLAPPED,LongInt(0));
  if (TestHandle <= 0) then Result := false
  else begin
         Result := true;
         CloseHandle(TestHandle); // <-- kann es eventuell an dieser Zeile liegen?
       end;
end;
Bei diesem schließe ich ja das Handle wieder, nachdem ich den Comport gefunden hab.

[/Edit]
2. Account Sero
  Mit Zitat antworten Zitat
 


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 15:35 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