Forum: Compiler & IDEs Arduino\Hardware\espressif\esp32\libraries\SoftwareSerial\src\SoftwareSerial.cpp:41:27: fatal error:


Announcement: there is an English version of this forum on EmbDev.net. Posts you create there will be displayed on Mikrocontroller.net and EmbDev.net.
von Stefanie F. (stefanie_f)


Bewertung
0 lesenswert
nicht lesenswert
Hi, ich bin neu im Mikrocontroller-Bereich,

ich habe eine NodeMCU ESP32 und nutze die Arduiono IDE 1.8.12.

Die Bibliotheken von Github für die Nutzung des ESP32 über die Arduino 
IDE habe ich bereits reingeladen.

Nun versuche ich mich an SoftwareSerial, da bekomme ich immer die 
Fehlermeldung:
"....\Arduino\Hardware\espressif\esp32\libraries\SoftwareSerial\src\Soft 
wareSerial.cpp:41:27:  fatal error: avr/interrupt.h: No such file or 
directory"

Im SoftwareSerial.cpp wird das avr/interrupt.h includiert, jedoch 
nirgends zu finden.

Wo kann ich es denn finden, damit ich es zur Bibliothek hinzufügen kann?

Zu Hilfe bitte ;-) Danke schön

von Joachim B. (jar)


Bewertung
0 lesenswert
nicht lesenswert
Stefanie F. schrieb:
> avr/interrupt.h

das wird wohl nicht klappen bei einem

Stefanie F. schrieb:
> ESP32

ergo müsstest du schon Quellen für den ESP angeben

ich finde das hier
https://github.com/paulvha/ESP32/tree/master/softserial

ohne avr/interrupt.h was irgendwie Sinn hat.

von Michael U. (amiga)


Bewertung
1 lesenswert
nicht lesenswert
Hallo,

der ESP32 hat 3 Hardware-Serielle, davon wird üblicherweise eine für den 
USB-Adapter genutzt und 2 sind frei verfügbar. Die lassen sich auch 
relativ simpel auf diverse Pins als Rx/Tx mappen. Es gibt damit wohl 
selten eine Notwendigkeit für SoftSeriell.
Als Beispiel mein Test für ein GPS-Modul:
#include <HardwareSerial.h>

#define GPS_BAUD 9600

HardwareSerial GPSSerial(1);

void setup()
{
  Serial.begin(115200);
  GPSSerial.begin(GPS_BAUD ,SERIAL_8N1, 15, 12, false);  // Baud, Config, RX, TX, invert
}

void loop()
{
  while (GPSSerial.available())
  {
    Serial.write(GPSSerial.read());
  }
}

Gruß aus Berlin
Michael

von John P. (brushlesspower)


Bewertung
0 lesenswert
nicht lesenswert
Michael U. schrieb:
> der ESP32 hat 3 Hardware-Serielle, davon wird üblicherweise eine für den
> USB-Adapter genutzt und 2 sind frei verfügbar. Die lassen sich auch
> relativ simpel auf diverse Pins als Rx/Tx mappen. Es gibt damit wohl
> selten eine Notwendigkeit für SoftSeriell.

Darüber hinaus ist in der aktuellen ESP32 Library garkeine 
Softwareserial.cpp mehr enthalten.

Wer weiß welche uralt Version der TE verwendet?

: Bearbeitet durch User
von Stefanie F. (stefanie_f)


Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo nochmal,

ich fange mal lieber von ganz vorne an, vermutlich hab ich schon weiter 
vorn einen Denkfehler:

Ich habe ein Anemometer, das den Kommunikationsport RS485 nutzt. Das 
möchte ich nutzen, um die Windgeschwindigkeit, später mit einem weiteren 
Teil auch die Windrichtung zu messen.

Ich habe mir einen MAX485 zugelegt, der als Transceiver arbeiten soll 
(so hab ich es aus einer Anleitung 
"https://www.hackster.io/philippedc/arduino-esp8266-rs485-modbus-anemometer-45f1d8";, 
der hatte jedoch ein ESP8266 genutzt.)
Daher vermutlich der Fehler mit SoftwareSerial.

Nun komme ich nicht weiter, frage mich, ob das Anemometer vllt nen 
Schuss hat, weiß aber auch nicht, wie ich das überprüfen kann.

RX habe ich Pin 16    (Beschriftung auf NodeMCU ESP32: RX2)
TX an Pin 17. (Beschriftung auf NodeMCU ESP32: TX2)

in der Anleitung steht, dass man für die Abfrage die Adresse "byte 
Anemometer_request[] = {0x01, 0x03, 0x00, 0x16, 0x00, 0x01, 0x65, 
0xCE};" abfragen muss.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.