2011-12-21 4 views
8

Sto provando a scrivere una libreria adruino, ma continuo a rimanere appeso agli errori che richiedono di includere i file di intestazione. Ho incontrato uno che non riesco a trovare il file di intestazione per. Continuo a ricevere l'errore:Errore nella libreria personalizzata Arduino durante la compilazione del ritardo()

...file.cpp:23: error: 'delay' was not declared in this scope 

Linea 23 del mio file cpp è:

delay(10); 

Qualsiasi aiuto sarebbe molto apprezzato. Grazie.

+1

Ho scoperto che compreso Arduino.h funziona. Se c'è un modo migliore fammi sapere, ma in ogni caso ho trovato una risposta. Compresi anche Arduino.h, quindi non avevo bisogno di includere alcuno degli altri file header che includevo come WString.h, HardwareSerial.h o Stdio.h. –

risposta

17

Se si utilizza una versione del software Arduino precedente alla 1.0 (con un numero di versione del modulo 00XY, ad esempio 0023), è necessario includere WProgram.h nei file .cpp.

Se si utilizza 1.0 o superiore, includere invece Arduino.h (il file di intestazione è stato rinominato in tale versione).

+0

'error: WProgram.h: Nessun file o directory' è quello che ho ottenuto in cambio. –

+1

Dalla versione 1.0 di Arduino in poi il file di intestazione è stato rinominato in 'Arduino.h'. –

+0

Ah, grazie per il suggerimento. Ancora in sviluppo su una vecchia versione: P – helloworld922

6

cambiamento

#include "WProgram.h" 

a

#if defined(ARDUINO) && ARDUINO >= 100 
     #include "Arduino.h" 
    #else 
     #include "WProgram.h" 
    #endif 

nel file di intestazione incriminato .h