Salut tout le monde, alors voilà, j'étais tranquillement en train de tester un code (pour faire une calculette) et j'ai commencé par faire ma fonction (que j'ai créée) : calculette, mais code::blocks de reconnait pas cette fonction et me dit qu'il faut qu'elle n'est pas déclaré, pouvez vous m'aidez ?
#include <Arduino.h>
int x;
int y;
int op;
int resultatfinal;
void setup()
{
Serial.begin(9600);
}
void loop()
{
x = 60;
y = 5;
op = 1;
resultatfinal = calculette(x,y,op);
}
int calculette(int nombre1, int nombre2, int operation)
{
float resultat;
switch(operation)
{
case 1 :
resultat = nombre1 + nombre2;
break;
case 2 :
resultat = nombre1 - nombre2;
break;
case 3 :
resultat = nombre1 * nombre2;
break;
case 4 :
resultat = nombre1 / nombre2;
break;
}
return resultat;
}
Ce qu'il faut bien comprendre c'est qu'au final programmer un micro-contrôleur revient à faire de la programmation en C/C++ tout ce qu'il y a de classique.
Le cas de l'EDI Wiring/Arduino est particulier.
Pour simplifier la vie des débutants l'EDI Wiring/Arduino a "inventé" :
les fonctions setup() et loop()
la pré-déclaration automatique des fonctions.
A partir du fichier ino l'EDI Wiring/Arduino crée un programme "cpp" qui contient la fonction main() qui elle même intègre la boucle infinie (ce que Wiring/Arduino appelle loop) .
Ces "choses" là n'existent pas nativement dans les EDI classiques comme Code::Blocks ou Eclipse.
Des plug-ins peuvent ajouter ces possibilités mais ils ne sont pas obligatoirement complets.
Si tu utilises un EDI classique et universel il est préférable de connaître les principes de base de la programmation en C/C++ classique car il y aura un certain nombre de "choses" qu'il faudra faire toi-même.
Je vois, mais une fois, j'ai voulu mettre une bibliothèque <IRremote.h> (pour les télécommandes infrarouges) et ça n'as pas fonctionné ! Le logiciel Code::Blocks prend des fichiers, alors qu'arduino prend des dossiers