Moin,
vielleicht kann mir jemand helfen oder es erklären.
Ich benutzen einen China Clone Arduino Micro. Mit folgendem Sketch vergleiche ich die beiden Bibliotheken. Die Initialisierung der Schnittstelle mit NeoSWSerial schlägt schon fehl.
#include "Arduino.h"
//#include "SoftwareSerial.h"
#include "NeoSWSerial.h"
#include "DFRobotDFPlayerMini.h"
int RX_PIN = 10;
int TX_PIN = 9;
int BUSY_PIN = 2;
int LED_ext =15;
NeoSWSerial SerialDFPlayer(RX_PIN,TX_PIN);
//SoftwareSerial SerialDFPlayer(RX_PIN,TX_PIN);
DFRobotDFPlayerMini DFPlayer;
void setup() {
pinMode(LED_ext,OUTPUT);
//pinMode (BUSY_PIN, INPUT);
SerialDFPlayer.begin(9600);
Serial.begin(9600);
while(!Serial);
Serial.println();
Serial.println(F("DFRobot DFPlayer Türgong"));
Serial.println(F("Initializing DFPlayer ... (May take 3~5 seconds)"));
digitalWrite(LED_ext,HIGH); //dient als optischer Trigger zum starten des Logic Analysers}
delay(1000); // Verzögerung um eine Sekunde damit manuell für den Start desd Analysers reagiert werden kann
digitalWrite(LED_ext,LOW);
if (!DFPlayer.begin(SerialDFPlayer)) { //Use softwareSerial to communicate with mp3.
Serial.println(F("Unable to begin:"));
Serial.println(F("1.Please recheck the connection!"));
Serial.println(F("2.Please insert the SD card!"));
while(true);
}
Serial.println(F("DFPlayer Mini online."));
DFPlayer.setTimeOut(500); //Set serial communictaion time out 500ms
//----Set volume----
DFPlayer.volume(30); //Set volume value (0~30).
//----Set different EQ----
DFPlayer.EQ(DFPLAYER_EQ_NORMAL);
//----Set device we use SD as default----
DFPlayer.outputDevice(DFPLAYER_DEVICE_SD);
}
Ich selbst bin kein Programmierer und habe die Code Schnipsel aus dem Internet zusammengesucht.
Nun erhalte ich folgende Ergebnisse in meinem Logic Analyser:
SoftwareSerial ist ok:
NeoSWSerial ist falsch:
Ich hoffe das Forum kann mir helfen.
Gruß vodet