2016-08-16 55 views
0

我尝试从连接到我的Arduino Blend Micro(http://redbearlab.com/blendmicro/)的温度传感器读取数据,并通过蓝牙信号发送此值到Android智能手机。当他们处于分离的草图中时,这两项任务都能够成功运行。但是,当我将它们放在一个草图中时(也将这些库放在一起),会出现几个错误。给定的错误告诉我,我的库中有多个定义。Arduino BLE多重清晰

库\ BLEPeripheral \效用\ aci_queue.cpp.o:在功能 `aci_queue_init(aci_queue_t *)':

C:\用户\ XXX \文件\ Arduino的\库\ BLEPeripheral \效用/ aci_queue.cpp:33:aci_queue_init的` 多个定义(aci_queue_t *)”

库\ BLE_SDK_for_Arduino \ aci_queue.cpp.o:C:\用户\ XXX \文件\ Arduino的\库\ BLE_SDK_for_Arduino \ SRC/aci_queue。 cpp:31: 此处首先定义为

库\ BLEPeripheral \效用\ aci_queue.cpp.o:在功能 `aci_queue_init(aci_queue_t *)':

C:\用户\ XXX \文件\ Arduino的\库\ BLEPeripheral \效用/ aci_queue.cpp:33 : aci_queue_dequeue的`多个定义(aci_queue_t *, hal_aci_data_t *)”

库\ BLE_SDK_for_Arduino \ aci_queue.cpp.o:aci_queue.cpp :(text._Z17aci_queue_dequeueP11aci_queue_tP14hal_aci_data_t +为0x0): 第一这里定义

问题似乎是在库BLEPeripheral和BLE_SDK_for_Arduino。但互联网的研究告诉我,他们应该是兼容的。

这里是我的代码:

//"RBL_nRF8001.h/spi.h/boards.h" is needed in every new project enter code here 
    #include <boards.h> 
    #include <string.h> 
    #include <Adafruit_BME280.h> 
    #include <RBL_nRF8001.h> 
    #include <RBL_services.h> 
    #include <SPI.h> 
    #include <EddystoneBeacon.h> 

    Adafruit_BME280 bme; 

    #define EDDYSTONE_BEACON_REQ 6 
    #define EDDYSTONE_BEACON_RDY 7 
    #define EDDYSTONE_BEACON_RST 4 

    EddystoneBeacon eddystoneBeacon = EddystoneBeacon(EDDYSTONE_BEACON_REQ, EDDYSTONE_BEACON_RDY, EDDYSTONE_BEACON_RST); 

    void setup() { 
     Serial.begin(9600); 
     delay(500); 
     bme.begin(); 
     eddystoneBeacon.setLocalName("RoomSupervisor"); 
    } 

    void loop() { 
     Serial.write("Start"); 
     while(1){ 
      Serial.write("Try to send... "); 
      eddystoneBeacon.begin(-18, "WHAT THE HELL DOESN'T WORK!?"); 
      eddystoneBeacon.loop(); 
      Serial.write(" succesful! \n"); 
      delay(3000); 
     } 
    } 

我真的需要这两个库与蓝牙和我的传感器工作。但是,如果有多个定义,我怎么能这样做呢?我已经试图删除一个库的一部分,以摆脱错误,但后来我的草图不能正常工作了。

回答

0

尝试只使用RedBearLabs库。不要删除库的一部分。摆脱librarys文件夹中的sdk并复制你想要(需要)包含在你的Arduino库文件夹中的必要库。