Forum: PC Hard- und Software [C#] Problem mit Daten über comport empfangen


von Johannes M. (johannes_m76)


Angehängte Dateien:

Lesenswert?

Guten Tag Leute,

ich habe ein Problem beim Daten empfangen über einen Comport.
Die Daten werden vom Eventhandler in das bytearray geschrieben, jedoch 
gibt es einen Fehler beim Aufrufen einer Methode der das Array als 
Parameter übergeben werden soll.

Ich weiss echt nicht mehr weiter. Ich bin dankbar für jede Hilfe.
Wenn Informationen fehlen werd ich sie natürlich posten.

Vielen Dank schonmal

LG
Johannes

von Peter II (Gast)


Lesenswert?

layer2 wird null sein.

von Udo S. (urschmitt)


Lesenswert?

Geile eingedeutschte Fehlermeldung. So klar und verständlich.
Da lobe ich mir englische Fehlermeldungen.

: Bearbeitet durch User
von Johannes M. (johannes_m76)


Lesenswert?

Eine Instanz des Objekts layer2 gibt es. Andere Methoden des Objekt 
können layer2 aufrufen.

von Draco (Gast)


Lesenswert?

Ja, layer2 ist null. Es wird in layer1.cs garnicht zugewiesen.

von Peter II (Gast)


Lesenswert?

Johannes M. schrieb:
> Eine Instanz des Objekts layer2 gibt es. Andere Methoden des Objekt
> können layer2 aufrufen.

das kannst schon sein. Aber nicht an dieser STelle:

In Layer1.cs

layer2 layer2;

mehr wird nicht gemacht. Damit gibt es dort keine Instanz.

in sendbytearray verwendest du noch mal eine variabel mit

 byte[] layer2 = tx;


Die ganze Namensgebung, für früher oder später ins Caos.

von bluppdidupp (Gast)


Lesenswert?

Außerdem kann comport.Read() auch weniger als 20 Bytes in rx schreiben 
(.Read() liefert als Rückgabewert zurück wieviele Bytes tatsächlich in 
rx geschrieben wurden) - Das kann die setreceived aber so gar nicht 
mitbekommen.

...und wenn mehr als 20 Bytes da sind, könnte es sein dass DataReceived 
nicht wieder aufgerufen wird, weil es noch wartet bis die Anzahl der 
Bytes für die DataReceived ausgelöst wurde weggelesen wurden (Das ist 
gerade allerdings nur eine Mutmaßung ;D)

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.