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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren