使用.h文件中的映射的Arduino会导致错误

时间:2015-05-05 08:22:44

标签: c++ compilation arduino mapping

我真的很困惑一个问题,为模块.h文件中的arduino项目带来映射。我以前在一个文件中都是一样的。编辑没有任何问题,颂歌运行完美。现在我把它放在模块.h文件中后出错:

'<'之前的构造函数,析构函数或类型转换令牌

代码的那部分:

std::map < std::string, btComands > mapStringBtComands;

我无法找出问题所在。

这是完整的.h:

// bluetooth.h

#ifndef _BLUETOOTH_h
#define _BLUETOOTH_h

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

#include <StandardCplusplus.h>
#include <map>
#include <string>

#ifdef BT_ENABLED

enum btComands
{
    setPID  =   1, // set PID parameters
    getPID  =   2, // send PID vlaues to bluetooth
    stEEP   =   3, // store parameters to EEPROM
    setLD   =   4, // activate Live date streaming to Bluetooth
    setLog  =   5,  //activate Log streaming over Bluetooth
    setMaxSpeed = 6 // define max allowed Speed

};


//initalisation of mapping for bluetooth GetCommand

std::map < std::string, btComands > mapStringBtComands;

void inline InitBtCommands()
{

    mapStringBtComands["setPID"]=setPID;
    mapStringBtComands["getPID"]=getPID;
    mapStringBtComands["stEEP"]=stEEP;
    mapStringBtComands["setLD"]=setLD;
    mapStringBtComands["setLog"]=setLog;
    mapStringBtComands["setMaxSpeed"]=setMaxSpeed;
}



#endif
#endif

我希望有人可以帮助我。

此致

安德烈亚斯

0 个答案:

没有答案