Arduino\Hardware\espressif\esp32\libraries\ SoftwareSerial\src\SoftwareSerial.cpp:41:27: fatal error

OP #6213760
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
#6214128
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
#6214580
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?
OP #6214922
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.
Angehängte Dateien:

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.