Super_Cinci:
Je pensais que le C++ était juste du C avec quelque fonctionnalités en plus plus (la notion de x++, ++x par exemple), et que les deux pouvaient marcher ensemble...
Oui et non.
Le C++ fait beaucoup plus que d'ajouter 2..3 fonctionnalités. En tout pas cas celles que tu cite : ++x et x++ existent depuis le début en C.
Mais la surcharge de fonctions que j'ai expliqué est un ajout qui impose un traitement différent sur les noms de fonctions.
Cela n'empêche pas de mélanger les 2, ils restent totalement compatible et la plupart du temps c'est transparent.
En dehors de la programmation objet, des templates etc ... le C++ ajoute au C :
- la surcharge des fonctions et des opérateurs
- la possibilité de déclarer des variables locales n'importe où et pas seulement en début de block.
La plupart du temps, je code dans un fichier CPP pour bénéficier sans m'en rendre compte des ajouts du C++ même si je ne fais pas de classes ou autre fonctionnalités purement C++.
De plus, selon les langages, l'un est sensible à la casse, pas l'autre, etc etc...
Tat le C que le C++ sont sensibles à la casse.
j'ai tendance à nommer mes variables comme en basic (je crois) : "nom_de_la_variable" et non "nomDeLaVariable" comme il faudrait
Il n'y a pas de "comme il faudrait". Ta règle est tout a fait valable que ce soit en C ou en Basic de même que l'inverse.
A part les define en majuscules qui est une règle de fait, toutes les règles sont possibles. En avoir une c'est mieux que ne pas en avoir.
j'ai mis tout le bloc ci-dessous du .c en commentaire, et ça a compilé.
#include "Arduino.h"
#if defined(ARDUINO) && ARDUINO >= 100
#include "Arduino.h"
#else
#include "wiring.h"
#endif
Arduino.h ne devrait être présent qu'une fois? j'ai merdé.
Essaye en enlevant juste le 1er #include Arduino.h et en gardant ce qui est entre #if ... #endif
Ce n'est pas temps le problème de passer d'un programme à une lib (les Lib Arduino n'étant pas de vrai lib) que le problème de tous les changements entre la version 022 et la version 1.0.
Perso je ne vois aucune raison de rester dans une vielle version alors que plusieurs problèmes ont été corrigés dans la lib core Arduino dans la v1.0.
Il vaut mieux avoir la 1.0(.1) et apprendre à migrer les exemples vers cette version plutôt que garder une version obsolète.