Mahlzeit Allerseits. Nun, nachdem ich mich mal mit dem WLS123A1M auseinandergesetzt habe, ging es nun an die Kommunikation zwischen Arduino-Basis und dem BT-Brettchen.. In meinem Fall ein DCCduino Nano (Arduino Nano Klon mit Atmega328). Transmit, also zB BT-Name ändern etc pp, funktionierte. Aber das Erhalten(Rx) von Daten so gar nicht.
Also kam ich auf die simple Idee, mich erstmal mit Softserial auseinanderzusetzen. Ich schrieb diesen Code, um quasi per Loop Tx und Rx zu testen und gleichzeitig nen Debug per Hardware UART am Rechner zu haben.
SoftSerial ist gerade bei den "hohen" Datenraten nicht zu gebrauchen. Wenn dann Baudraten <= 9600. Sinnvoller ist es aber, die HardwareSchnittstelle ans laufen zu bekommen.
Baudrate falsch eingestellt im Serial Monitor, oder aber Problem mit der zu hohen Geschwindigkeit
(1) Baudrate im Serialmonitor richtig, sonst wäre SEND: schon falsch.
(2) Geschw. auf 9600 herabgesetzt.
(3) Habe es oben schlicht falsch formuliert. Ich bekomme keine Daten über Rx.
(4) Ist Halbduplex das Problem?
Ich hab nen 1K-Widerstand zw. 10 und 11 gesetzt als Verbraucher gegen Kurzschluss. Was muß ich denn noch beachten? PullDown? Ausprobiert mit 33K. Ach ja, da ich das Projekt final mit nem Trinket 3.3V realisiere (atTiny85), bin ich auf softSerial angewiesen. Erstmal also softSerial auf nem Nano ausprobieren und verstehen.
Ich vermute mal, while(btSerial.available()>0) geht in die Endlosschleife, weil innerhalb wieder was mittels Serial.print rausgeschrieben wird. Irgendwas ankommen sollte aber. Nach kleiner Korrektur
SEND: 64
ECHO: S
ECHO: E
ECHO: N
ECHO: D
ECHO: :
ECHO:
ECHO: 6
ECHO: 4
ECHO:
ECHO:
ECHO: E
ECHO: C
ECHO: H
ECHO: O
ECHO: :
ECHO:
ECHO: S
ECHO:
ECHO:
ECHO: E
ECHO: C
ECHO: H
ECHO: O
ECHO: :
ECHO:
ECHO: E
ECHO:
ECHO:
@combie
Glaskugel unnötig. Es geht ja um den Loop. Pin 11 nach Pin 10. Rx Pin 10 dann raus auf Hardware-UART.
@agmue
hmpf. Wenn ich nur ein sauberes Echo sehen täte. Mir drängt sich die Vermutung auf, dass dieser dccDuino Nano schundig ist. Wie hast Du die Pins verbunden? Widerstand? Z-Diode? Pulldown? Ohne Alles?
ok. von Tx-UART (D01) nach Rx-Softserial (D10) funktioniert. Mein Grundgedanke war ja Tx-Softserial (D11) nach Rx-Softserial (D10). Und das scheint wohl an Halfduplex zu scheitern. Wer sendet, kann nunmal nicht gleichzeitig empfangen..