Go Down

Topic: A0, A1 no declared in scope  (Read 44 times) previous topic - next topic

BalooVsRayman

hello
I separated my code to make it more pleasant but I confronts some problem
I created my .h and .cpp files but my aduino told me that A0 or A1 is not declarer I was even entitled to analogRead ()
In my map settings I am on:
type of card: Arduinomega
programmer: arduino isp
prosseceur: atmega2560
thank you

Code: [Select]

/* ================== FICHIER DE CONFIGURATION CAPTEUR LUMINOSITE =================*/


//-------------- PIN CAPTEUR LUMINOSITE ----------
#define PIN_CAPTEUR_EST A1
#define PIN_CAPTEUR_MIDI A2
#define PIN_CAPTEUR_OUEST A3

//----------- CAPTEUR LUMINOSITE ---------------


enum {LEVANT,MIDI,COUCHANT,SOMBRE};

void ctrl_capteur_lumiere(int *pos_soleil, char mess_erreur[]);





Arduino : 1.8.5 (Linux), Carte : "Arduino/Genuino Mega or Mega 2560, ATmega2560 (Mega 2560)"

In file included from sketch/capteur_luminosite.cpp:3:0:
sketch/capteur_luminosite.cpp: In function 'void ctrl_capteur_lumiere(int*, char*)':
capteur_luminosite.h:5: error: 'A1' was not declared in this scope
 #define PIN_CAPTEUR_EST A1
                         ^
sketch/capteur_luminosite.cpp:8:19: note: in expansion of macro 'PIN_CAPTEUR_EST'
     if(analogRead(PIN_CAPTEUR_EST)<SEUIL_LUMIERE && analogRead(PIN_CAPTEUR_MIDI)<SEUIL_LUMIERE && analogRead(PIN_CAPTEUR_OUEST)<SEUIL_LUMIERE)
                   ^
capteur_luminosite.cpp:8: error: 'analogRead' was not declared in this scope
     if(analogRead(PIN_CAPTEUR_EST)<SEUIL_LUMIERE && analogRead(PIN_CAPTEUR_MIDI)<SEUIL_LUMIERE && analogRead(PIN_CAPTEUR_OUEST)<SEUIL_LUMIERE)
                                  ^
capteur_luminosite.cpp:8: error: 'SEUIL_LUMIERE' was not declared in this scope
     if(analogRead(PIN_CAPTEUR_EST)<SEUIL_LUMIERE && analogRead(PIN_CAPTEUR_MIDI)<SEUIL_LUMIERE && analogRead(PIN_CAPTEUR_OUEST)<SEUIL_LUMIERE)
                                    ^
In file included from sketch/capteur_luminosite.cpp:3:0:
capteur_luminosite.h:6: error: 'A2' was not declared in this scope
 #define PIN_CAPTEUR_MIDI A2
                          ^
sketch/capteur_luminosite.cpp:8:64: note: in expansion of macro 'PIN_CAPTEUR_MIDI'
     if(analogRead(PIN_CAPTEUR_EST)<SEUIL_LUMIERE && analogRead(PIN_CAPTEUR_MIDI)<SEUIL_LUMIERE && analogRead(PIN_CAPTEUR_OUEST)<SEUIL_LUMIERE)
                                                                ^
capteur_luminosite.h:7: error: 'A3' was not declared in this scope
 #define PIN_CAPTEUR_OUEST A3
                           ^
sketch/capteur_luminosite.cpp:8:110: note: in expansion of macro 'PIN_CAPTEUR_OUEST'
     if(analogRead(PIN_CAPTEUR_EST)<SEUIL_LUMIERE && analogRead(PIN_CAPTEUR_MIDI)<SEUIL_LUMIERE && analogRead(PIN_CAPTEUR_OUEST)<SEUIL_LUMIERE)
                                                                                                              ^
exit status 1
'A1' was not declared in this scope

Ce rapport pourrait être plus détaillé avec
l'option "Afficher les résultats détaillés de la compilation"
activée dans Fichier -> Préférences.

pert

You need to add this line to your .h or .cpp file:
Code: [Select]
#include <Arduino.h>
That will provide the declarations for all of the standard Arduino API.

You didn't need to do this in your .ino sketch files because the Arduino IDE automatically adds that line at the top of the file before compiling. This is done in order to allow beginners to write sketches with the minimum amount of confusing lines of code to understand.

Go Up