Go Down

Topic: UART + DC-SS500 (Read 5 times) previous topic - next topic

uwefed

#5
Jan 23, 2011, 10:54 pm Last Edit: Jan 23, 2011, 11:09 pm by uwefed Reason: 1
Hallo dots

Ich verstehe Dich und Dein Problem nicht. ;)
Die Software-serielle Schnittstelle hat eine Sendeleitung und eine Empfangsleitung RX und TX.
Diese Pins definierst Du in der Funktion SoftwareSerial mySerial =  SoftwareSerial(rxPin, txPin);
In Sendestring bitte sende auch ein 0x0d und ein 0x0a als Ende von "$sure temp- c". Das schätze ist das Problem der abgebrochenen Datenübertragung.
Grüße Uwe


dots

#6
Jan 23, 2011, 11:18 pm Last Edit: Jan 23, 2011, 11:19 pm by dots Reason: 1
So?

Quote

   mySerial.print("$sure temp -c");
   mySerial.print(0x0d,HEX);
   mySerial.print(0x0a,HEX);

Da bekomme ich nen Fehler "Bad Command"

Ist ein 0x0d 0x0a nicht ein "carriage return" "new line" dass ja println() in Gegensatz zu print() macht?

uwefed

#7
Jan 23, 2011, 11:36 pm Last Edit: Jan 23, 2011, 11:37 pm by uwefed Reason: 1
Da überrascht Du mich in meiner Unwissenheit.

Du hast Recht:
Quote
println()
Prints data to the serial port as human-readable ASCII text followed by a carriage return character (ASCII 13, or '\r') and a newline character (ASCII 10, or '\n'). This command takes the same forms as Serial.print().

Entschuldige, das war mein Fehler.

Sicher falsch ist das ",hex" im print. So übergibst Du die Zahl als hex-Wert formatiert ( eine "null" und ein "d" bzw "a").
Funktioniern müßte
Code: [Select]
mySerial.print(0x0d);
mySerial.print(0x0a);


retorische Frage:"also was ist dann das Problem?"

Hast Du es mit einer kleinen Pause zwischen Comando senden und Wert empfangen versucht?

Grüße Uwe




dots

#8
Jan 23, 2011, 11:49 pm Last Edit: Jan 23, 2011, 11:49 pm by dots Reason: 1
noch nicht, das werde ich morgen mal machen, mein Bett ruft ;-)
Wenn ich das HEX weglasse, ändert sich leider auch nichts.

Warum die Datenübertragung nach 5-6 Übertragungen schlapp macht, stellt mich echt vor ein Rätsel. Ich hab jetzt 2 verschiedene Module und zwei verschiede Boards ausprobiert. Sobald ich GND bei dem Modul ziehe, bekomme ich wieder 5-6 Rückmeldungen. Je länger die Pause (delay) zwischen den Abfragen, desto weniger Ergebnisse bekomme ich.

Eigentlich benötige die Werte alle 10-30 Minuten.

Grüße
Patrick

Go Up