Arduino IDE 1.0中的库

时间:2012-03-26 10:44:57

标签: c++ c arduino

我有一个简单的程序,在升级到版本1后测试这些库。程序链接在下面,库也是如此。它们适用于SHT21湿度传感器。

当我尝试编译程序和库时,我收到以下错误。

  

包含在sketch_mar26a.cpp中的文件:1:/ Applications / Arduino   v1.0.app/Contents/Resources/Java/libraries/Ports/Ports.h:239:错误:   为'virtual void指定的冲突返回类型   UartPlug :: write(byte)'/ Applications / Arduino   v1.0.app/Contents/Resources/Java/hardware/arduino/cores/arduino/Print.h:48:   错误:覆盖'virtual size_t Print :: write(uint8_t)'

来自ports.h

的违规版块
public:
UartPlug (PortI2C& port, byte addr)
    : dev (port, addr), in (0), out (0) {}

void begin(long);
byte available();
int read();
void flush();
virtual void write(byte);

来自print.h的违规行

    virtual size_t write(uint8_t) = 0;

1 个答案:

答案 0 :(得分:8)

问题是在Arduino 1.0中,Print界面更改为从其write函数返回“打印”的字节数(之前它没有返回计数)。你的功能声明:

virtual void write(byte);

需要更改为:

virtual size_t write(byte); 
// or write(uint8_t) since byte is #defined as uint8_t

并且实现将需要返回写入的字节数。