Einzelnen Beitrag anzeigen

Benutzerbild von Lee500
Lee500

Registriert seit: 18. Sep 2006
39 Beiträge
 
Delphi 2010 Architect
 
#7

AW: 1024 Bytes per AsyncPro

  Alt 22. Jan 2012, 14:54
AsyncPro ist für serielle Kommunikation? Stimmen Baudrate, Daten/Stopbits usw.? Wie sieht das Protokoll aus? Dir ist klar, das die Daten nicht en block kommen, sondern happenweise und du warten musst, bis alles da ist?
Ja, ich habe die ComPort Komponente von AsyncPro genommen. Die Baudrate, Datenbits, Stopbits etc. stimmen, da ich mit dem Hyperterminal alles Problemlos empfangen kann. Das die Daten nicht im Block kommen ist mir klar. Ich habe es mal so versucht, das ich beim OnTriggerAvail, also immer wenn Daten da sind, diese in einen Buffer kopiert habe und dann gewartet habe bis die 1024 Bytes da sind. Das hat aber wie schon gesagt nicht funktioniert, da er bei 150-300 Bytes seinen Dienst quittiert hat.

Hallo,

@Alien_F: Das TApdDataPacket ist nicht auf Delphi 2010 umgestellt. Das bedeutet, dass man es selber anpassen muss.

Das Problem sollte auch nicht die Byte-Anzahl sein sondern es muss ja irgendwie ein Protokoll vorhanden sein, wie soll sonst festgestellt werden, wann die Daten komplett übertragen worden sind und das Programm nicht während der Übertragung erst die Daten von der Schnittstelle bekommt.

Bis bald Chemiker
Richtig, die TApdDataPacket Komponente habe ich nicht, da es diese nicht für Delphi 2010 gibt.

Das Protokoll in dem Sinne ist eigentlich nur das die Steuerung immer exakt 1024 Bytes sendet. Das letzte Byte ist ein Paritätsbyte.

Mein Problem liegt aber weniger darin, dass das Protokoll oder irgendwelche Einstellungen der seriellen Schnittstelle nicht passen, sondern eher darin, dass die ComPort Komponente nach 150-300 Bytes einfach den Dienst niederlegt.
  Mit Zitat antworten Zitat