Problem mit serieller Schnittstelle - Datenverlust

21/08/2009 - 14:49 von Martin Eckel | Report spam
Hallo,

ich habe hier ein Projekt, welche relativ große Datenmengen über die
serielle Schnittstelle empfàngt.

Dazu benutze ich System.IO.Ports - leider kommt es ab und an zu
Datenverlusten.
Seltsamerweise sind diese Datenverluste abhàngig von den Daten - die
Datenmenge ist immer gleich, das ist kein Problem. Aber bei bestimmten
Meßsignalen fehlen einfach einige Bytes.

Zum Auslesen benutze ich SerialPort.Read in ein Byte-Array, so sollte es
nach meinem Verstàndnis kein Problem mit Codierungseinstellungen geben.
DiscardNull steht auch auf False.


Wenn ich die serielle Schnittstelle wie unter VB6 direkt mittels API
ansteuere, so habe ich dieses Problem nicht. Leider kommt es aber bei
der direkten API-Ansteuerung zu Instabilitàten beim Programmablauf, was
mir nicht wirklich klar ist.


Mein Entwicklungssystem ist VS2008.

Jemand eine Idee, wo meine Bytes verlustig gehen?

Gruß,
Martin
 

Lesen sie die antworten

#1 Armin Zingler
21/08/2009 - 16:07 | Warnen spam
Martin Eckel schrieb:
Hallo,

ich habe hier ein Projekt, welche relativ große Datenmengen über die
serielle Schnittstelle empfàngt.

Dazu benutze ich System.IO.Ports - leider kommt es ab und an zu
Datenverlusten.
Seltsamerweise sind diese Datenverluste abhàngig von den Daten - die
Datenmenge ist immer gleich, das ist kein Problem. Aber bei bestimmten
Meßsignalen fehlen einfach einige Bytes.

Zum Auslesen benutze ich SerialPort.Read in ein Byte-Array, so sollte es
nach meinem Verstàndnis kein Problem mit Codierungseinstellungen geben.
DiscardNull steht auch auf False.


Wenn ich die serielle Schnittstelle wie unter VB6 direkt mittels API
ansteuere, so habe ich dieses Problem nicht. Leider kommt es aber bei
der direkten API-Ansteuerung zu Instabilitàten beim Programmablauf, was
mir nicht wirklich klar ist.


Mein Entwicklungssystem ist VS2008.

Jemand eine Idee, wo meine Bytes verlustig gehen?



Ohne etwas Code zu sehen, wie die Daten empfangen und weiterverarbeitet
werden und woran du erkennst, dass Daten fehlen ist das schwer zu sagen.


Armin

Ähnliche fragen