So wie ich es lese must du einen Befehl senden, dann antwortet der Regler mit der Rückgabe des Befehles und den darauf resultierenden Daten und der Schecksumme nach der du jetzt fragst.
Beispiel: Du fragst nach der Version, dann sendest du 0x02.
Als Antwort bekommst du zB 0x02, 0x07. 0x07. Die letzte 0x07 ist der Wert, den die letzten 8Bit der Summe zum Wert 0 brauchen.
Erklärung 0x02+0x07 ergibt 0x09.
Bis zur 0 braucht es 0A,0B,0C,0D,0E,0F und dann wird die letzte Ziffer wieder zu 0 im HexaCode. Das ist dann als Aditionswert im Hexa-Code die Zahl 7.
Bei 0x07, 0x08 ist die Prüfsumme 0x01, denn 7+8=F —> F+1 =0 in der Hexa-Zählweise
Der Befehl, den du sendest, muss nicht, so lese ich es, von dir mit einer Checksumme „verpackt“ werden. Wenn doch, dann must du auch so eine „Aufrechnung“ machen.
Ich hoffe ich liege da richtig, bin nicht so der Erklärbär
Ja, richtig mit 0C füllst du die Hexzahlen zu Null auf.
Wie mein Vorredner schon schrieb, Comport-Instance in beiden Richtungen erstellen.
Die Boudrate einstellen, soweit ich weiß muss ein Pin der Schnittstelle auf high sein, steht aber im PDF zum Solarkontroller.
In den Beispielscripten, hier im Forum, mal schauen wie Hex-Zahlen übertragen werden. Ist nicht so einfach, aber zu schaffen.
Empfehlen kann ich das Freewaretool com0com. Es erstellt virtuelle Com-Ports auf dem Rechner. Damit kann man mal die eigenen, auf dem Com-Port1 ausgegeben Sachen ansehen und auch Antworten darauf simulieren. Oder ein Nullmodem basteln, obwohl man keinen zweiten Comport hat.
Link:
Das com0com-Projekt auf http://com0com.sourceforge.net/ enthält auch
einen „COM port to TCP redirector (com2tcp)“
Na denn, aber lass es nicht zu spät werden, oder war es eher früh?
Gib’ mal in der Suchfunktion des Forums " String an der COM-Schnittstelle " ein.
Da wird von HJH und Paresy einiges aufgeklärt. Und von Tommi gibt es auch einiges an Aufklärung.