2012-07-24 59 views
2

我正在嘗試使用CapSense library for Arduino。但是,我無法運行包中包含的示例,名爲「CapSenseSketch」。當我嘗試只是打開該文件並運行它(我都試過Arduino的1.0和1.0.1),我得到那個說「的CapSense沒有指定類型」編譯錯誤,也無法編譯Arduino CapSense示例

CapSenseSketch.cpp:1:22: error: CapSense.h: No such file or directory 
CapSenseSketch:11: error: 'CapSense' does not name a type 
CapSenseSketch:12: error: 'CapSense' does not name a type 
CapSenseSketch:13: error: 'CapSense' does not name a type 
CapSenseSketch.cpp: In function 'void setup()': 
CapSenseSketch:17: error: 'cs_4_2' was not declared in this scope 
CapSenseSketch.cpp: In function 'void loop()': 
CapSenseSketch:24: error: 'cs_4_2' was not declared in this scope 
CapSenseSketch:25: error: 'cs_4_6' was not declared in this scope 
CapSenseSketch:26: error: 'cs_4_8' was not declared in this scope 

有是一種包括代碼的頂部聲明,

#include <CapSense.h> 

,我認爲這將是一個問題,所以我改變了括號報價,仍然收到錯誤消息「錯誤彙編」和:

CapSenseSketch.cpp.o: In function `__static_initialization_and_destruction_0': 
CapSenseSketch.cpp:15: undefined reference to `CapSense::CapSense(unsigned char, unsigned char)' 
CapSenseSketch.cpp:16: undefined reference to `CapSense::CapSense(unsigned char, unsigned char)' 
CapSenseSketch.cpp:17: undefined reference to `CapSense::CapSense(unsigned char, unsigned char)' 
CapSenseSketch.cpp.o: In function `loop': 
CapSenseSketch.cpp:28: undefined reference to `CapSense::capSense(unsigned char)' 
CapSenseSketch.cpp:29: undefined reference to `CapSense::capSense(unsigned char)' 
CapSenseSketch.cpp:30: undefined reference to `CapSense::capSense(unsigned char)' 
CapSenseSketch.cpp.o: In function `setup': 
CapSenseSketch.cpp:21: undefined reference to `CapSense::set_CS_AutocaL_Millis(unsigned long)' 

任何想法?我曾在另一臺電腦上使用過CapSense,並將括號改爲正確的引號,但現在似乎並沒有太多的工作。

+0

當您檢查語法或嘗試編譯和上傳時,是否收到錯誤? – 2012-07-25 03:55:09

+0

就在我按'驗證'時。不過,我昨天解決了這個問題。在arduino IDE中,要使用外部腳本,必須爲要使用的每個文件選擇「sketch> add file」。在我的情況下,我使用.h文件和.h文件使用的.cpp文件。我只以這種方式添加了.h文件,因此arduino在.cpp文件中沒有看到必要的代碼,儘管它包含在.h文件中。 – user1549824 2012-07-26 13:54:36

+0

此外,對於使用CapSense004的任何人,該類型已從CapSense重命名爲CapacitiveSensor。 – 2013-03-12 02:03:22

回答

3

顯然,包含外部文件在arduino IDE中有點不同。僅僅在代碼的頂部有一個include聲明是不夠的,您必須手動轉到sketch>爲每個要使用的外部文件添加文件。在我的情況下,我只是爲了試圖使用的兩個文件中的一個而做到這一點。