Autor Beitrag
gezschongezahlt
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Fr 19.12.08 16:51 
Guten Tag,
ich bin neu hier im Forum.
Ich habe folgendes Problem:
Ich arbeite mit der Komponente ApdComPort und steuere
damit ein Messmodul(ct'Lab) über die serielle Schnittstelle an.
Das mit dem senden klappt schon mal (es blinkt eine LED, wenn was ankommt).
Daraufhin müsste eine Antwort kommen,
womit ich nun zu meinem Problem komme;
diese kann ich nicht empfangen/abfangen.
Im Grunde läuft es mom noch darauf hinaus,
eine Art Terminal nachzubauen..


hier geschieht das senden...
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
procedure v24putString(s:String);
var i:Integer;
   begin

   if ApdComPort.OutBuffFree >= (length(s)+2then
     begin

        ApdComPort.PutString(s+#13#10); 

     end ;
end;


mit diesem Event wollte ich die Daten Emfangen:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
procedure TForm1.ApdComPort1TriggerAvail(CP: TObject; Count: Word);
var
  s: String;
  I: Word;
begin
 showmessage('Empfangen!!');
  s:='';
  for I := 1 to Count do
    s := s + ApdComPort.GetChar;
    showmessage(s);
    Memo1.Lines.Add(s);

end;


Wäre für jede Hilfe sehr dankbar!
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: Sa 20.12.08 16:07 
Bedeutet dieses blinken der LED dass überhautp Daten ankommen, oder lässt sich daran auch erkennen, ob die Daten korrekt sind?
Wenn das womöglich nur eine Empfangsbestätigung von "irgendwelchen" Daten ist: Baudrate, Stopbits, Parität und sowas richtig eingestellt? Überträgst du auch die richtigen Daten?

Wird das Event überhaupt durchlaufen? (Haltepunkt)

_________________
PROGRAMMER: A device for converting coffee into software.
gezschongezahlt Threadstarter
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Sa 20.12.08 16:20 
user profile iconXentar hat folgendes geschrieben Zum zitierten Posting springen:
Bedeutet dieses blinken der LED dass überhautp Daten ankommen, oder lässt sich daran auch erkennen, ob die Daten korrekt sind?
Wenn das womöglich nur eine Empfangsbestätigung von "irgendwelchen" Daten ist: Baudrate, Stopbits, Parität und sowas richtig eingestellt? Überträgst du auch die richtigen Daten?

Wird das Event überhaupt durchlaufen? (Haltepunkt)


Das LED blinkt wenn IRGENDWAS ankommt (mit einem carriage return linefeed am ende).
Es kommt immer eine Rückmeldung, auch wenn etwas ungültiges geschickt worden ist (comanderror).
Baudrate ect. sind richtig eingestellt, und protokolle hab ich auch schon alle möglichen ausprobiert (None und xon/xoff funktieren).
Das Probelem ist ja, dass das Event NIE ausgelöst wird.
Desswegen auch das "showmessage('Empfangen!!'); " im ApdComPort1TriggerAvail teil.