Es gelingt mir eine Softserial Kommunikation mit dem MEGA auf Pin 11. Der MEGA empfängt Strings. Diese Pins benötige ich jedoch für das Ethernetshield. Deshalb möchte ich Pin 15 (Serial3: 15 (RX), 14 (TX)) verwenden. Das MEGA empfängt aber keine String auf Pin 15?
Weiss jemand, warum das nicht geht?
// #include <AltSoftSerial.h>
// AltSoftSerial softSerial(15, 14);
#include <SoftwareSerial.h>
SoftwareSerial softSerial(15, 14);
unsigned char buffer[64]; // buffer array for data recieve over serial port
String data = "";
char character ;
int Contain ;
int x;
void setup() {
Serial.begin(115200);
Serial.println("SoftSerial_read started");
softSerial.begin(9600);
}
void loop() {
delay(10);
if (softSerial.available() > 0) {
character = softSerial.read();
data += character;
//readStringUntil('Q', character,10)
if( character = 'Q' ) {
Serial.println(data);
Serial.flush();
data = "";
}
}
}
Wie kommt man denn auf die Idee, auf einem HardwareSerial einen Softwareserial aufsetzen zu wollen?
unsigned char buffer[64]; // buffer array for data recieve over serial port
String data = "";
char character ;
int Contain ;
int x;
void setup()
{
Serial.begin(115200);
Serial.println("SoftSerial_read started");
Serial3.begin(9600);
}
void loop()
{
delay(10);
if (Serial3.available() > 0)
{
character = Serial3.read();
data += character;
//readStringUntil('Q', character,10)
if ( character = 'Q' )
{
Serial.println(data);
Serial.flush();
data = "";
}
}
}
Ihr anderes Thema zum gleichen Thema wurde gelöscht.
Bitte stellen Sie keine doppelten Fragen. Das verschwendet Zeit und Mühe der Freiwilligen, die Ihnen helfen möchten, da sie dann an verschiedenen Stellen dasselbe beantworten müssen.
Bitte erstellen Sie nur ein Thema für Ihre Frage und wählen Sie die Forenkategorie sorgfältig aus. Wenn Sie mehrere Fragen zum selben Projekt haben, stellen Sie diese bitte in einem einzigen Thema. Die Antworten auf eine Frage liefern einen nützlichen Kontext für die anderen und Sie müssen Ihr Projekt nicht immer wieder erklären.
Wiederholtes Doppelposten kann zu einem vorübergehenden oder dauerhaften Ausschluss aus dem Forum führen.
Könnten Sie sich bitte kurz Zeit nehmen, um sich mit der Nutzung des Forums vertraut zu machen?
So können Sie das Forum in Zukunft optimal nutzen.
Not all pins on the Mega and Mega 2560 boards support change interrupts, so only the following can be used for RX: 10, 11, 12, 13, 14, 15, 50, 51, 52, 53, A8 (62), A9 (63), A10 (64), A11 (65), A12 (66), A13 (67), A14 (68), A15 (69). Not all pins on the Leonardo and Micro boards support change interrupts, so only the following can be used for RX: 8, 9, 10, 11, 14 (MISO), 15 (SCK), 16 (MOSI).
Dann hast du es nicht richtig gelesen.
Der mega hat 4 (vier) serielle Schnitstellen, wovon die erste für USB genutzt wird, du hast also noch 3 Stk. übrig. Ist das nicht genug um ohne Softserial auszukommen?
Spätestens bei S.10 Pinout solltest du erkennen wo die Seriellen Schnittstellen liegen.
Anstatt eines Ethernet-Shield am Uno geht es auch mit einem ESP8266-01S, dann direkt am Mega . Der ist kleiner, hat WLan und kann auch per UART (serial) angesprochen werden. Das funktioniert auch mit jedem anderen ESP8266 oder ESP32 in Zusammenarbeit mit dem Mega.