title image


Smiley Re: Problem Serieller Port
Erhöhe mal den Empfangspuffer.Sobald Du die Daten mit MSComm1.Input liest, werden die Daten aus dem Puffer gelesen und der Puffergeleert.Oder Du baust ein Loop, der solange dreht bis das letzte Byte angesäuselt kommt dh wenn Du weisst, dassder Datensatz mit einem Vorschub endet kannst du etwas in der Art vonDo DoEventsLoop Until MSComm1.Input =vbCRLFoder Do DoEvents Loop Until MSComm1.CommEvent = 2 ' wenden bis etwas angekommenoder wenn Du genau weisst, wieviele Bytes ein Datensatz umfasst, kannst Du dies in mit derRTreshold Eigenschaft festlegen dh zB ein Datensatz umfasst 10 Bytes, dann schreibstMSComm1.RTreshold=1Sind also 10 Bytes im Empfangspuffer gelandet, wird ein OnComm Ereignis ausgelöst, welchesDu weiterverarbeiten kannst (zB if OnComm=true then müll$=MSComm1.input oä)Oder du schreibst damit gleich eine Sub:Private Sub MSComm_OnComm () Select Case MSComm1.CommEvent ' Behandeln jedes Ereignisses oder Fehlers durch ' Positionieren von Code unter jeder Case-Anweisung ' Fehler Case comBreak ' Es wurde ein Anhaltesignal empfangen. Case comFrame ' Fehler im Übertragungs- ' raster (Framing Error) Case comOverrun ' Datenverlust Case comRxOver ' Überlauf des Empfangs- ' puffers Case comRxParity ' Paritätsfehler Case comTxFull ' Sendepuffer voll Case comDCB ' Unerwarteter Fehler beim Abrufen ' des DCB] ' Ereignisse Case comEvCD ' Pegeländerung auf DCD Case comEvCTS ' Pegeländerung auf CTS Case comEvDSR ' Pegeländerung auf DSR Case comEvRing ' Pegeländerung auf RI ' (Ring Indicator) Case comEvReceive ' Anzahl empfangener Zei- ' chen gleich RThreshold Case comEvSend ' Im Sendepuffer befinden ' sich SThreshold Zeichen Case comEvEof ' Im Eingabestrom wurde ein ' EOF-Zeichen gefunden End SelectEnd Sub

geschrieben von

Login

E-Mail:
  

Passwort:
  

Beitrag anfügen

Symbol:
 
 
 
 
 
 
 
 
 
 
 
 
 

Überschrift: