我有一个简单的程序,在升级到版本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;
答案 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
并且实现将需要返回写入的字节数。