Étape 1: Compilation conditionnelle
On trouvera un exemple dans l’une des bibliothèques de sonde DHT22 pour désactiver le code que les retours flottent des valeurs. Vous pouvez le voir à la ligne 35, 57 et 65 "#if! defined(DHT22_NO_FLOAT) ». Par défaut DHT22_NO_FLOAT n’est pas défini pour le code est inclus. Vous pouvez la définir dans votre code, avant d’inclure la bibliothèque, pour désactiver ces fonctions si vous ne pas besoin d’eux et de réduire la taille compilée un peu similaire :
#define DHT22_NO_FLOAT
#include < DHT22.h >
Vous pouvez également utiliser #defines dans votre code pour basculer sur le débogage et le code de production, tels que :
Décommentez dev mode
#define DEVMODE 1
void setup() {}
#if defined(DEVMODE)
Serial.Begin(115200) ;
Serial.Print ("ON Devmode") ;
#else
Programme d’installation l’écran LCD
myGLCD.InitLCD() ;
#endif
i2cbuffer = "" ;
i2cOutput = "" ;
Wire.Begin(I2C_SLAVE) ;
Wire.onRequest(sendI2Cdata) ;
Wire.onReceive(recvI2Cdata) ;
#if defined(DEVMODE)
Serial.println("Started") ;
#endif
}
Dans ce cas, je ne pas initialiser l’écran LCD, et ultérieurement dans le code j’ai aussi ne pas utiliser LCD fonctions de dessin. Cela me permet de tester les méthodes i2c en regardant le port série, mais sacrifie l’écran LCD.