Forum: Mikrocontroller und Digitale Elektronik Arduino Error compiling for Nano Every


von Robert (Gast)


Lesenswert?

Guten Tag

Ich würde gerne an meinen Arduino Nano ein LCD anhängen, leider bekomme 
ich immer folgenden Fehlercode. "Error compiling for board Arduino Nano 
Every".
Den Code habe ich aus den Examples. Ich wäre sehr froh wenn jemand mir 
weiter helfen könnte. Die Bibliothek wäre installiert. Die LED Blink 
Beispiele kann ich ohne Problem drauf laden

1
// include the library code:
2
#include <LiquidCrystal.h>
3
4
// initialize the library by associating any needed LCD interface pin
5
// with the arduino pin number it is connected to
6
const int rs = 12, en = 11, d4 = 5, d5 = 4, d6 = 3, d7 = 2;
7
LiquidCrystal lcd(rs, en, d4, d5, d6, d7);
8
9
void setup() {
10
  // set up the LCD's number of columns and rows:
11
  lcd.begin(16, 2);
12
  // Print a message to the LCD.
13
  lcd.print("hello, world!");
14
}
15
16
void loop() {
17
  // set the cursor to column 0, line 1
18
  // (note: line 1 is the second row, since counting begins with 0):
19
  lcd.setCursor(0, 1);
20
  // print the number of seconds since reset:
21
  lcd.print(millis() / 1000);
22
}

von Sebastian R. (sebastian_r569)


Lesenswert?

Eventuell kennt die LiquidCrystal-Library den Nano Every mit seinem 
Mega4809 (noch) nicht.

Also mal schauen, obs eine neue Version der Lib gibt. Andererseits gibts 
da drin nur straighte Pin-Modifikationen, nichts Aufwändiges.

: Bearbeitet durch User
von Einer K. (Gast)


Lesenswert?

Robert schrieb:
> leider bekomme
> ich immer folgenden Fehlercode. "Error compiling for board Arduino Nano
> Every".

Ausführliche Ausgaben aktivieren, und diese auch bitte aufmerksam lesen.

von Robert (Gast)


Lesenswert?

Oke habe die Library geupdatet, doch jetzt steht zusätzlich noch:Invalid 
library found in C:\Users\ror\Documents\Arduino\libraries\LiquidCrystal: 
no headers files (.h) found in 
C:\Users\ror\Documents\Arduino\libraries\LiquidCrystal

von Stefan F. (Gast)


Lesenswert?

Wie sieht denn der Inhalt dieses Verzeichnisses aus?

Und wie lauten die Fehlermeldungen insgesamt? Es reicht nicht, nur 
einzelne Zeilen zu zitieren.

von Einer K. (Gast)


Lesenswert?

Robert schrieb:
> Oke habe die Library geupdatet, doch jetzt steht zusätzlich noch:Invalid
> library found in C:\Users\ror\Documents\Arduino\libraries\LiquidCrystal:
> no headers files (.h) found in
> C:\Users\ror\Documents\Arduino\libraries\LiquidCrystal

Schritt 1:
Mache das erstmal wieder rückgängig!

Schritt 2:
Die LiquidCrystal.h suchen.
Die Ausführlichen Meldungen sagen dir, wo sie zu finden ist.
Und zwar im Arduino Programmordner, im Unterverzeichnis 
libraries/LiquidCrystal/src

Schritt 3:
In dieser Datei eine Zeile hinzufügen:
#include <Arduino.h>

Das sieht dann so aus:
1
#ifndef LiquidCrystal_h
2
#define LiquidCrystal_h
3
4
#include <Arduino.h>
5
6
#include <inttypes.h>
7
#include "Print.h"
8
9
//ab hier, weiter wie gehabt.


Der Grund:
Für die modernen AVR existiert eine etwas andere Ordnungsstruktur.
#include <Arduino.h> verschafft den Zugang zur Print Klasse.
Das #include <Arduino.h> richtet keinen Schaden für andere Arduinos an.

von Robert (Gast)


Lesenswert?

Der ganze Fehlercode lautet Arduino: 1.8.13 (Windows 10), Board: 
"Arduino Nano Every, ATMEGA328"

In file included from C:\Program Files 
(x86)\Arduino\libraries\LiquidCrystal\src\LiquidCrystal.cpp:1:0:

C:\Program Files 
(x86)\Arduino\libraries\LiquidCrystal\src\LiquidCrystal.h:45:36: error: 
expected class-name before '{' token

 class LiquidCrystal : public Print {

                                    ^

C:\Program Files 
(x86)\Arduino\libraries\LiquidCrystal\src\LiquidCrystal.h:86:9: error: 
'Print' has not been declared

   using Print::write;

         ^~~~~

exit status 1

Error compiling for board Arduino Nano Every.

Invalid library found in 
C:\Users\ror\Documents\Arduino\libraries\LiquidCrystal: no headers files 
(.h) found in C:\Users\ror\Documents\Arduino\libraries\LiquidCrystal



This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

von Einer K. (Gast)


Lesenswert?

Robert schrieb:
> This report would have more information with
> "Show verbose output during compilation"
> option enabled in File -> Preferences.

1: Lesen und danach handeln
2: Folge meinem 3 Schritte Programm

von Robert (Gast)


Lesenswert?

Arduino Fanboy D. schrieb:

>
> Schritt 3:
> In dieser Datei eine Zeile hinzufügen:
> #include <Arduino.h>
>


Ich habe die Datei gefunden und mit dem Editor Editor geöffnet und 
#include <Arduino.h> eingefügt, doch ich kann diese Datei nicht 
abspeichern es kommt dann immer die folgende Meldung: "Sie haben keine 
Berechtigung zum Öffnen dieser Datei. Wenden sie sich an den Besitzer 
der Datei oder an den Systemadministrator"

Ich kann diese Datei nicht nur abspeichern, sondern muss sie ersetzen.

von Einer K. (Gast)


Lesenswert?

Robert schrieb:
> Arduino Fanboy D. schrieb:
>
>>
>> Schritt 3:
>> In dieser Datei eine Zeile hinzufügen:
>> #include <Arduino.h>
>>
>
> Ich habe die Datei gefunden und mit dem Editor Editor geöffnet und
> #include <Arduino.h> eingefügt, doch ich kann diese Datei nicht
> abspeichern es kommt dann immer die folgende Meldung: "Sie haben keine
> Berechtigung zum Öffnen dieser Datei. Wenden sie sich an den Besitzer
> der Datei oder an den Systemadministrator"
>
> Ich kann diese Datei nicht nur abspeichern, sondern muss sie ersetzen.

Dann ersetze sie.

Ansonsten:
Ich rate dir zur portablen Installation.
Da sind die Verzeichnisse nicht von Windows geschützt.
Und werden auch  nicht über das halbe System verstreut gespeichert.
Das erleichtert u. A. die Datensicherung ungemein.
https://www.arduino.cc/en/Guide/PortableIDE

von Stefan F. (Gast)


Lesenswert?

Robert schrieb:
> Sie haben keine Berechtigung zum Öffnen dieser Datei

Wenn das dein Computer ist, dann hast du die Berechtigung, 
Berechtigungen im Dateimanager zu ändern. Eventuell musst du das mit dem 
ganzen Verzeichnis tun.

Bitte nimm folgendes nicht persönlich:

Wir haben ähnliche Situationen auch oft im Büro mit neuen jungen 
Programmierern. Offenbar geht dieses Grundwissen im Zeitalter von 
smarten Thermomixern verloren.

Bevor unsere Regierung noch mehr darauf drängt, dass jede Kind 
programmieren lernen soll, müsste man das erst einmal in Ordnung 
bringen.

von Robert (Gast)


Lesenswert?

Vielen Dank du hast mir sehr geholfen, wäre wohl nie darauf gekommen nun 
funktioniert es :)

von Robert (Gast)


Lesenswert?

Nein, es ist nicht mein Computer

von Stefan F. (Gast)


Lesenswert?

Robert schrieb:
> Nein, es ist nicht mein Computer

Aber du hast wohl trotzdem die erforderlichen Berechtigungen. Na, dann 
ist ja alles gut.

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.