Ошибка OneWire.h
- Войдите на сайт для отправки комментариев
Пнд, 03/10/2016 - 00:10
есть код #include </Users/Bjornskau/Desktop/KEY/OneWire.h> #define pin 10 byte key_to_write[] = { 0x01, 0xBE, 0x40, 0x11, 0x5A, 0x36, 0x00, 0xE1 }; OneWire ds(pin); // pin 10 is 1-Wire interface pin now void setup(void) { Serial.begin(9600); } void loop(void) { byte i; byte data[8]; delay(1000); // 1 sec ds.reset(); delay(50); ds.write(0x33); // "READ" command for (uint16_t i = 0 ; i < 8 ; i++) data[i] = ds.read(); Serial.print("KEY "); for( i = 0; i < 8; i++) { Serial.print(data[i], HEX); if (i != 7) Serial.print(":"); } // Check if FF:FF:FF:FF:FF:FF:FF:FF // If your button is really programmed with FF:FF:FF:FF:FF:FF:FF:FF, then remove this check if (data[0] & data[1] & data[2] & data[3] & data[4] & data[5] & data[6] & data[7] == 0xFF) { Serial.println("...nothing found!"); return; } }
Который выдает следующие ошибки
Arduino: 1.6.12 (Mac OS X), Плата:"Arduino Mega ADK"
Изменены опции сборки, пересобираем все
/var/folders/2c/rhkvh2594jd3h1h_1jgt1s400000gn/T//ccAvEwx6.ltrans0.ltrans.o: In function `global constructors keyed to 65535_0_key.ino.cpp.o.1732':
ccAvEwx6.ltrans0.o:(.text.startup+0x5e): undefined reference to `OneWire::OneWire(unsigned char)'
/var/folders/2c/rhkvh2594jd3h1h_1jgt1s400000gn/T//ccAvEwx6.ltrans0.ltrans.o: In function `main':
ccAvEwx6.ltrans0.o:(.text.startup+0x1d6): undefined reference to `OneWire::reset()'
ccAvEwx6.ltrans0.o:(.text.startup+0x1ec): undefined reference to `OneWire::write(unsigned char, unsigned char)'
ccAvEwx6.ltrans0.o:(.text.startup+0x1fc): undefined reference to `OneWire::read()'
collect2: error: ld returned 1 exit status
exit status 1
Ошибка компиляции для платы Arduino Mega ADK.
Этот отчёт будет иметь больше информации с
включенной опцией Файл -> Настройки ->
"Показать подробный вывод во время компиляции"
Изначально ругался на функцию read_bytes, мол нет ее в классе One Wire, хотя я смотрел иходный код класса и она там была, даже помеченная как public...
Подключите быбиблиотеку правиально, т.е. расположите её где положено. А то Вы файл c описаниями включили, а саму библиотеку (.cpp или что там) не подключили. ВОт она и не может найти нужных функций.