AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi An com port gesendete daten lesen
Thema durchsuchen
Ansicht
Themen-Optionen

An com port gesendete daten lesen

Ein Thema von schweindi · begonnen am 3. Mär 2010 · letzter Beitrag vom 7. Mär 2010
Antwort Antwort
Seite 2 von 5     12 34     Letzte »    
LargoD

Registriert seit: 8. Jun 2007
42 Beiträge
 
#11

Re: An com port gesendete daten lesen

  Alt 5. Mär 2010, 12:26
Um com-ports anzusteuern benutze ich immer TComPort von Dejan Crnila.
Da sind auch Beispiele im Paket, die Du leicht modifiziert direkt einsetzen kannst.
Auf die Antwort des Modems wartest Du nicht, sondern wenn Zeichen auf der seriellen Schnittstelle ankommen, wird ein Event ausgelöst und die Zeichen kannst Du aus einem Puffer abholen. TComPort hat sogar eine einfache Paket-Erkennung, sodass dann ein Event getriggert wird, wenn eine bestimmte Zeichenkombination, z. B. CR/LF erkannt wird. Das macht die Sache noch einfacher.
Gruß
Erich
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#12

Re: An com port gesendete daten lesen

  Alt 5. Mär 2010, 15:56
Zitat von schweindi:
Dazu hab ich schon mal von S.h.a.r.k das verwendet und bisschen umgeschrieben:
Das ist gar nicht direkt von mir, auch wenn ich mehrfach zitiert werde für diesen Code hatte da echt eine nette Hilfe (Dirk Meyer hieß der Herr glaub), mit der ich den Code erarbeitet hatte!
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
schweindi

Registriert seit: 4. Feb 2010
60 Beiträge
 
#13

Re: An com port gesendete daten lesen

  Alt 5. Mär 2010, 17:19
okay ... danke Ich versuch mal TComPort und melde dann evtl Fehler!

und ja, ich hab dich einfach mal weiterzitiert
  Mit Zitat antworten Zitat
schweindi

Registriert seit: 4. Feb 2010
60 Beiträge
 
#14

Re: An com port gesendete daten lesen

  Alt 5. Mär 2010, 20:14
okay ich habe jetzt mal TComPort installiert und alles verwendet... also es läuft super, nur beim auslesen hab ich noch probleme:

Also wenn ich

ComPort1.ReadFile(str,255);

mache dann wird ja immer nur 1 zeichen gelesen -> ComDataPacket, stimmt doch oder damit kann man es als "ganzes Packet" lesen?
So dann hab ich start parameter leer gelassen und als Stopparam ist #13, da das Modem ja nach jedem befehl eine neue zeile beginnt...

Doch iwie wenn ich jetzt in meinem virtual com nach dem befehl vom programm etwas eingeben, passiert nichts. Vorher habe ich in meinem Memo immer jeden Buchstaben einzeln gesehen, doch jetzt passiert garnichts, was habe ich vergessen?

Delphi-Quellcode:
procedure TForm1.Button4Click(Sender: TObject); //da sende ich die Eingabe zum port
var Str : String;
    i : Integer;
begin
//write to port
Str := Edit2.Text;
//ComPort1.WriteStr(Str); // string type variable
ComPort1.Write(Str[1], Length(Str)); // no defined type
ComPort1.TransmitChar(#13);
ShowMessage('Write Data Successfull');
//answer
end;
und so sieht mein Packetding aus:

[delphi]object ComDataPacket1: TComDataPacket
ComPort = ComPort1
StopString = '#13'
OnPacket = ComDataPacket1Packet
Left = 48
Top = 200
end
end[/delpi]

das OnPacket Event gibt ja an, wenn ein vollständiges packet gefunden wurde, da hab ich einfach mal ein ShoMessage() reingeschrieben, doch nichts passiert! Wenn ich zb: "abc#13" eingebe im Modem, tut mein programm so, als ob es nichts im InputBuffer hätte.

Ne idee?
  Mit Zitat antworten Zitat
Matczek

Registriert seit: 23. Aug 2004
Ort: Hamburg
34 Beiträge
 
Delphi 5 Professional
 
#15

Re: An com port gesendete daten lesen

  Alt 5. Mär 2010, 20:31
versuche mal #13 (CR) und #10 (LF) zu senden...
Ich glaube, dass sind die Endezeichen für Modems.

gruß matthias
  Mit Zitat antworten Zitat
schweindi

Registriert seit: 4. Feb 2010
60 Beiträge
 
#16

Re: An com port gesendete daten lesen

  Alt 5. Mär 2010, 20:37
naja mein Problem ist ja, dass die Pakete garnicht erkannt werden.

Ich habe ja beim Startparameter nichts eingetragen, das heißt, es muss bei jedem zeichen beginnen zu lesen und stopparameter ist #13 dh wenn ich #13 eingebe müsste es fertig gelesen haben.
  Mit Zitat antworten Zitat
Matczek

Registriert seit: 23. Aug 2004
Ort: Hamburg
34 Beiträge
 
Delphi 5 Professional
 
#17

Re: An com port gesendete daten lesen

  Alt 5. Mär 2010, 20:56
Also ich kenne die TComPort Komponente nicht ich benutze immer AsyncPro. Dort hatte ich immer Probleme mit dem Packet-Komponente, deswegen schreibe ich die Werte immer in einen Buffer und werte selbst aus.

Habe ich das richtig verstanden du sendest z.B. "AT"+CR und bekommst keine Antwort vom Modem?
  Mit Zitat antworten Zitat
schweindi

Registriert seit: 4. Feb 2010
60 Beiträge
 
#18

Re: An com port gesendete daten lesen

  Alt 5. Mär 2010, 21:01
naja ich teste das programm gerade nur auf einem virtuellen modem, indem ich di eigentlichen antworten slbr reinschreibe... aberich bekomme eben diese nicht
  Mit Zitat antworten Zitat
Matczek

Registriert seit: 23. Aug 2004
Ort: Hamburg
34 Beiträge
 
Delphi 5 Professional
 
#19

Re: An com port gesendete daten lesen

  Alt 5. Mär 2010, 21:05
[edit]Sorry ich sollte mal richtig lesen[/edit]

Was ist ein virtuelles Modem? Ein Modem der einen virtuellen COM Port via USB anbietet?
  Mit Zitat antworten Zitat
WoGe

Registriert seit: 16. Jun 2005
Ort: Kelkheim
178 Beiträge
 
Delphi 10.3 Rio
 
#20

Re: An com port gesendete daten lesen

  Alt 5. Mär 2010, 21:16
Zitat von Matczek:
Sorry noch ne doofe Frage:
Was ist das für ein Gerät welches an den virtuelle COM Port angeschlossen ist?
Würde mich auch mal interessieren

Wenn es nur darum geht SMS zu verschicken, kann man auch ein ganz normales Handy mit Bluetooth nehmen. Hab ich mit meinem Uralt-Handy mal ausprobiert und ging einwandfrei. Hat zudem den Vorteil keinerlei Kabel zwischen Rechner und Handy notwendig.

Gruss
wo
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 5     12 34     Letzte »    


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