ich habe hier eine Waage die ich mit einem Arduino ansprechen und die entsprechenden Antworten empfangen und verarbeiten möchte. Dies gelingt mir momentan jedoch noch nicht.
Die Waage ist über RS232 an Serial 1 (Ports 18 und 19) angeschlossen. Hier ein Beispielbefehl, um die aktuelle TAC Zählung der Waage (CAL.TAC) abzurufen:
Befehl (Master): CAL.TAC (mit ENTER dahinter)
Antwort (Waage): CAL.TAC 1136 (mit ENTER dahinter)
Ich bin mir jedoch nicht sicher wie ich den Befehl an die Waage senden kann. Serial1.write hatte scheinbar keinen Erfolg.
Mein Problem hier ist auch, dass ich ohne Befehl und Antwort auch keine Möglichkeit sehe,um zu überprüfen, ob die Verbindung überhaupt steht. Könnt ihr mir da weiterhelfen?
ich habe hier eine Waage die ich mit einem Arduino ansprechen und die entsprechenden Antworten empfangen und verarbeiten möchte. Dies gelingt mir momentan jedoch noch nicht.
...
Befehl (Master): CAL.TAC(mit ENTER dahinter)
Antwort (Waage): CAL.TAC 1136(mit ENTER dahinter)
Kannst du die Waage mit was anderem ansprechen ? ( Terminalprogramm am PC oder so ? )
Wenn die Pegel TTL / RS232 stimmen:
Parameter der Seriellen Schnittstelle ( Baudrate, Parity, Stopbits ) ?
Welches Zeichen genau ist das Enter ? ( '\r' = 0x0d = CR oder '\n' = 0x0a = LF oder beides ) ?
Was sendet die Waage, wenn sie was nicht versteht ?
Ich habe einen MAX3232 zwischen Arduino und Waage eingesetzt und auch schon an sich write und print ausprobiert.
Jetzt habe ich gerade nochmal ausprobiert wie sich das mit CR und LF als "Enter" verhält. Ich brauche dort beides. Wie kann ich dies beim senden eines Strings unterbringen?
Hier noch als Beispiel eine Ausgabe des Gewichtes:
Befehl: WEI.GRO
Antwort: WEI.GRO+ 1300.53d
Du sendest in jedem loop() Durchlauf Text. Das ist Irrsinn. Merke dir ob du das schon gemacht hast und sende erst wieder einen Befehl wenn du die Antwort erhalten hast.