Wie schicken Sie den seriellen Anschluss von RS485 senden und empfangen?
-
12-12-2019 - |
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 )
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.