Zitat von
Ceos
Jein!
wenn die default
UART an ist und du dann eine
SOFT-UART auf die gleichen Pins belegst, kann es sehr gut zu einem Konflikt führen(vor allem wenn der darunterliegende Chip die Portfunktion nicht automatisch konfiguriert sondern konfiguriert werden muss, leider stecke ich im 8266 was
UART angeht nicht drin, aber soweit ich es verstanden habe muss man bei PIC controllern die Pins manuell auf Ausgang schalten auch wenn die peripherie darauf gemappt ist).
Nur um es auszuschließen, soll er prüfen wie die Pins konfiguriert sind.
Das gilt nur, solange du keine "merkwürdigen" Sachen machst und den z.B. Soft Serial auf die eigentlich Hardware Serial Pins zu legen ist in meinen Augen definitv "merkwürdig"
@Ceos:
(las gerade eben erst deine Antwort vom 11.2.)
Das default UART für Serial() auf ESP8266 GPIOs 3+1 ist bei Arduino nodeMCU cores immer per default an, sobald es per Serial.begin() gestartet wurde. Hier muss man für die Benutzung per Serial() auch keine INPUT/OUTPUT pins zusätzlich initialisieren, das macht die Serial() Lib automatisch.
Auch bei SoftwareSerial() muss man nur die Klasse mir den gewünschten Pins instanziieren und keine INPUT/OUTPUT pins zusätzlich initialisieren, denn das macht auch hier die Arduino-Standard-Lib intern: https://www.arduino.cc/en/Tutorial/S...eSerialExample
Code:
SoftwareSerial mySerial(10, 11); // RX, TX
void setup() {
// Open serial communications and wait for port to open:
Serial.begin(57600);
while (!Serial) {
; // wait for serial port to connect. Needed for native USB port only
}
Serial.println("Goodnight moon!");
// set the data rate for the SoftwareSerial port
mySerial.begin(4800);
mySerial.println("Hello, world?");
}
//
Ich sehe noch nicht, dass das bei der auf ESP angepassten Lib anders laufen sollte...(?)
Und wir reden hier ja auch ausschließlich über die Arduino API Libs!
Daher schrieb ich ja, dass SoftwareSerial() NICHT auf dieselben Pins wie Serial() initialisiert werden sollte, gerade wenn man Serial() RX0/TX0 dort ebenfalls benutzt!
Daher schrieb ich ebenfalls, dass man für Serial() RX0/TX0 bei GPIO 3+1 bleiben soll und für SoftSerial andere GPIOs nutzen soll...
@ede62
... was du ja jetzt wohl auch getan hast - und es funkioniert
Lesezeichen