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


von Stefanie F. (stefanie_f)


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

: Bearbeitet durch Admin
von Joachim B. (jar)


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)


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:
1
#include <HardwareSerial.h>
2
3
#define GPS_BAUD 9600
4
5
HardwareSerial GPSSerial(1);
6
7
void setup()
8
{
9
  Serial.begin(115200);
10
  GPSSerial.begin(GPS_BAUD ,SERIAL_8N1, 15, 12, false);  // Baud, Config, RX, TX, invert
11
}
12
13
void loop()
14
{
15
  while (GPSSerial.available())
16
  {
17
    Serial.write(GPSSerial.read());
18
  }
19
}

Gruß aus Berlin
Michael

von John P. (brushlesspower)


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:

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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.