2011-12-21 10 views
8

Próbuję napisać bibliotekę adruino, ale wciąż się denerwuję w sprawie błędów wymagających uwzględnienia plików nagłówkowych. Znalazłem plik nagłówkowy, dla którego nie mogę znaleźć pliku nagłówkowego. Wciąż otrzymuję błąd:Błąd biblioteki niestandardowej Arduino podczas kompilacji opóźnienia()

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

Linia 23 od mojego pliku .cpp jest:

delay(10); 

Każda pomoc będzie mile widziana. Dziękuję Ci.

+1

I odkryli, że w tym Arduino.h działa. Jeśli jest lepszy sposób, daj mi znać, ale w każdym razie znalazłem odpowiedź. Dołączono także Arduino.h, więc nie musiałem dołączać żadnych innych plików nagłówkowych, które zawierałem, takich jak WString.h, HardwareSerial.h lub Stdio.h. –

Odpowiedz

17

Jeśli używasz wersji oprogramowania Arduino przed wersją 1.0 (z numerem wersji 00XY, np. 0023), musisz dołączyć WProgram.h do plików .cpp.

Jeśli korzystasz z wersji 1.0 lub nowszej, należy podać Arduino.h (nazwa pliku nagłówkowego została zmieniona w tej wersji).

+0

'error: WProgram.h: Brak takiego pliku lub katalogu' jest tym, co otrzymałem w zamian. –

+1

Od wersji Arduino 1.0 plik nagłówkowy został przemianowany na 'Arduino.h'. –

+0

Ah, dzięki za cynk. Nadal rozwija się na starej wersji: P – helloworld922

6

zmiana

#include "WProgram.h" 

do

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

w pliku nagłówkowym wykraczająca .h