简体   繁体   English

Arduino IDE 1.0中的库

[英]Libraries in Arduino IDE 1.0

I have a simple program to test out these libraries after upgrading to version 1. The program is linked below as are the libraries. 升级到版本1后,我有一个简单的程序来测试这些库。程序链接在下面,库也是如此。 They are for SHT21 humidity sensors. 它们适用于SHT21湿度传感器。

I get the following errors when I try to compile the program and libraries. 当我尝试编译程序和库时,我收到以下错误。

In file included from sketch_mar26a.cpp:1: /Applications/Arduino v1.0.app/Contents/Resources/Java/libraries/Ports/Ports.h:239: error: conflicting return type specified for 'virtual void UartPlug::write(byte)' /Applications/Arduino v1.0.app/Contents/Resources/Java/hardware/arduino/cores/arduino/Print.h:48: error: overriding 'virtual size_t Print::write(uint8_t)' 在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)'

Offending section from ports.h 来自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);

Offending line from print.h 来自print.h的违规行

    virtual size_t write(uint8_t) = 0;

The problem is that in Arduino 1.0 the Print interface changed to return a number of bytes 'printed' from its write function (previously it didn't return a count). 问题是在Arduino 1.0中,Print接口更改为从其write函数返回“打印”的字节数(之前它没有返回计数)。 Your function declaration: 你的功能声明:

virtual void write(byte);

needs to change to: 需要改为:

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

and the implementation will need to return the number of bytes written. 并且实现将需要返回写入的字节数。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM