Stap 1: Voorwaardelijke compilatie
Een voorbeeld kan worden gevonden in een van de DHT22 sensor bibliotheken om te schakelen van de code dat rendement waarden zweven. Regel 35, 57 en 65 ziet u "#if! defined(DHT22_NO_FLOAT)". Standaard wordt de DHT22_NO_FLOAT niet gedefinieerd dus de code opgenomen is. U kunt het in uw code, definiëren voordat het met inbegrip van de bibliotheek, als u wilt uitschakelen van deze functies als u niet nodig hen en de gecompileerde iets als verkleinen:
#define DHT22_NO_FLOAT
#include < DHT22.h >
Ook kunt u #defines in uw code om te schakelen van het debuggen en de productiecode, zoals:
uncomment dit voor dev-modus
#define DEVMODE 1
VOID Setup {}
#if defined(DEVMODE)
Serial.begin(115200);
Serial.Print ("Devmode ON");
#else
Instellen van het LCD-scherm
myGLCD.InitLCD();
#endif
i2cbuffer = "";
i2cOutput = "";
Wire.begin(I2C_SLAVE);
Wire.onRequest(sendI2Cdata);
Wire.onReceive(recvI2Cdata);
#if defined(DEVMODE)
Serial.println("Started");
#endif
}
In dit geval ik niet initialiseren het LCD-scherm, en verderop in de code gebruik ik ook niet LCD tekening functies. Dit kan ik voor het testen van de i2c-methoden tijdens het kijken naar de seriële poort, maar offert het LCD-scherm.