Messaggio di errore 'OUTPUT' was not declared in this scope

Sto studiando la programmazione, sono solo all'inizio e mi sono imbattuto in un errore che nonstante abbia passato diversi giorni a cercare su internet possibili soluzioni, non riesco proprio a risolvere, ho 3 file il file .h quello .cpp e il file main

FILE .H

#ifndef fan_h
#define fan_h

class fclass
{
   public:
      fclass();
      void SETUP();
      void SPEED(int fan_speed);
      int rotation();
};

extern fclass fan;

#endif

FILE .CPP

//***** INCLUDE *****\\
#include "Arduino.h"
#include "fan.h"

const int fan_pin = 2;

fclass::fclass(){}

void fclass::SETUP()
{
  pinMode(fan_pin, OUTPUT);
  digitalWrite(fan_pin, HIGH);
}

void fclass::SPEED(int fan_speed)
{

}

int fclass::rotation()
{
  int returnval = 12;
  return (returnval);
}

fclass fan = fclass();

FILE MAIN.INO

#include "Arduino.h"
#include "fan.h"



void setup() 
{
  fan.SETUP();
  delay(1000);
}

void loop() {
  // put your main code here, to run repeatedly:

}

al momento della compilazione mi esce il seguente errore

'OUTPUT' was not declared in this scope

non riesco proprio a capire dove è il problema... spero in un vostro aiuto per uscirne e continuare col mio studio.

grazie a tutti per la cortese attenzione.

Try changing

#include "Arduino.h"

to

#include <Arduino.h>

and see if it makes a difference.

"" is for local include files, <> is for library files

>stzlmr: Prima di tutto, nella sezione in lingua Inglese si può scrivere SOLO in Inglese ... quindi, per favore, la prossima volta presta più attenzione, poi, essendo questo il tuo primo post, ti chiedo cortesemente di presentarti QUI (spiegando bene quali conoscenze hai di elettronica e di programmazione) e di leggere con attenzione il REGOLAMENTO ... Grazie.

Guglielmo

P.S.: Il tuo post è stato spostato nell'opportuna sezione del forum "Italiano"

grazie Marco per la tua indicazione...

"" is for local include files, <> is for library files

ma continua a darmi lo stesso errore, non capisco dove è il problema.

>stzlmr: nel rispetto del regolamento, ti prego di dare seguito a quanto richiesto nel mio post qua sopra.

Grazie,

Guglielmo

ho stranamente risolto togliendo //***** INCLUDE *****\ posizionato sopra #include <Arduino.h> eliminato il commento non mi da più l'errore e compila il tutto, grazie molte comunque marco per la tua indicazione "" is for local include files, <> is for library files ... mi hai insegnato una cosa che non sapevo.

stzlmr:
ho stranamente risolto togliendo //***** INCLUDE *****\ posizionato sopra #include <Arduino.h> eliminato il commento non mi da più l'errore e compila il tutto, grazie molte comunque marco per la tua indicazione "" is for local include files, <> is for library files ... mi hai insegnato una cosa che non sapevo.

Non hai stranamente risolto... dovresti sapere che non si commenta in quel modo e quindi quello che avevi scritto non era un commento. Dovevi fare così:

/***** INCLUDE *****/

Ah yes, I missed the real problem.

For the record, the problem with "//***** INCLUDE \" is that it ends with a '' which is the continuation line character. The compiler sees this line and the next line as the same line - "// INCLUDE *****#include <Arduino.h>". This means that you have effectively commented out the #include. Removing the last two "\" characters would have fixed the problem as well.

Traduzione:
Per la cronaca, il problema con "//***** INCLUDE \" è che finisce con un '', che è il carattere per la continuazione di testo. Il compilatore vede questa linea e la riga successiva come "// INCLUDE *****#include <Arduino.h>". Ciò significa che avete efficacemente commentato il #include. La eliminiazione degli ultimi due "\" sarebbe un alternative risoluzione.

Exactly :slight_smile: But also with my method it will work, because the first line will be like a comment.

Traduzione: Esattamente :slight_smile: Ma anche con il mio metodo funzionerà, perché la prima linea sarà come un commento.

Signori, siete nella sezione ITALIANA dove si usa l'Italiano o, quantomeno, se scrivete in Inglese, per rispetto verso i lettori, mettete anche la traduzione in Italiano.

Guglielmo

@Gugliemo: Hai ragione. Traduzione agguinta. Cheers :wink:

Grazie Marco :slight_smile:

Guglielmo

Traduzione aggiunta Gulielmo :wink: