Библиотеки в Arduino IDE 1.0 - PullRequest
2 голосов
/ 26 марта 2012

У меня есть простая программа для тестирования этих библиотек после обновления до версии 1. Программа связана ниже, как библиотеки. Они предназначены для датчиков влажности SHT21 .

Я получаю следующие ошибки при попытке скомпилировать программу и библиотеки.

В файле, включенном в sketch_mar26a.cpp: 1: / Applications / Arduino v1.0.app/Contents/Resources/Java/libraries/Ports/Ports.h:239: ошибка: конфликтующий тип возврата, указанный для 'virtual void UartPlug :: write (byte) '/ Приложения / 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 Ответ

8 голосов
/ 26 марта 2012

Проблема в том, что в 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

и реализация должна будет вернуть количество записанных байтов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...