Frage

Ich möchte zwischen meinem PC und einigen Controller-Boards kommunizieren.

Die Erwartung ist, dass der PC eine Kennung der Karte auf RS-485 sendet und dann die Antwort von der Tafel erhalten soll.

Wenn ich versuche, die Antwort zu erhalten, erhalte ich die falschen Daten.

Hier ist mein Code:

generasacodicetagpre.

es funktioniert, wenn ich RS-232 verwende, aber nicht, wenn ich RS-485 verwende.

update:

Es ist RS-485 2-Draht. ( http://en.wikipedia.org/wiki/ RS-485 )

War es hilfreich?

Lösung

Ich habe das Problem gefunden.

generasacodicetagpre.

Read ist ein nicht blockierendes Verfahren, so dass er den Puffer liest, aber nicht auf alle Bytes wartet.Sie müssen also den Rückgabewert dieser Funktion verwenden, der eine Ganzzahl mit einer Anzahl von Bytes zurückgibt, die er lesen konnte.

Ich verwende dies:

generasacodicetagpre.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top