Проблемы с библиотеками

Тема в разделе "Arduino & Shields", создана пользователем БиЛл ШиФр2, 4 апр 2019.

  1. Она в документах
     
  2. a1000

    a1000 Гуру

    Попробуйте засунуть библиотеку в папку "libraries" которая в каталоге самой IDE
     
  3. Она там всё это время
     
  4. a1000

    a1000 Гуру

    Тогда это про что?
     
  5. Про папку Arduino, в которой папка libraries, в которой библиотеки
     
  6. a1000

    a1000 Гуру

    Вы как устанавливали IDE? Через инсталятор или скачали и распаковали архив?
     
  7. Да я уж не помню
    Я его 3 года назад установил
    С официального сайта
     
  8. b707

    b707 Гуру

    и что, с тех пор ни разу не открывали? или раньше все работало?

    и еще - вынужден еще раз повторить то что уже писал - что вы себя ведете как трехлетний? почему каждое слово надо вытягивать? - не хотите, чтоб вам помогали - ну разберитесь сами, материалов в сети по вопросу горы - нафига людей отвлекать, если самому лень пальцем шевельнуть?
    Элементарный вопрос на три страницы растянули - смешно...
     
    Daniil и Airbus нравится это.
  9. Раньше я занимался на другом компе. Теперь вот решил зайти сюда - не действует ничего
    До этого библиотек сюда не скачивал
     
  10. a1000

    a1000 Гуру

    Убейте эту IDE. Скачайте свежую версию с оф сайта. Качайте именно инсталятор. Установите. Найдите папку arduino папке C:\Program Files (x86) или C:\Program Files. Вот в папку libraries которая там находится и положите папку с вашей библиотекой.
     
    БиЛл ШиФр2 нравится это.
  11. parovoZZ

    parovoZZ Гуру

    Единственная верная мысль за всё время существования. Если уж прям так хочется поиграть в конструктор, то лучше поставить VisualMicro. Правда, IDE arduino должна все равно стоять((
     
    БиЛл ШиФр2 нравится это.
  12. Переустановил. Все работает. Короче, вопрос решен
     
  13. dude

    dude Нерд

    Всем салют, такая проблема.
    Arduino: 1.8.9 (Windows 10), Плата:"Amperka Iskra Nano Pro"
    На китайской нано тот же самый код заливается без вопросов, на искре же ругается на библиотеки.
    Код оставлю под ошибкой.
    Код (Text):
    In file included from C:\Users\User\Documents\Arduino\libraries\Adafruit_SSD1306/Adafruit_SSD1306.h:40:0,

                     from C:\Users\User\Desktop\test_pulse\test_pulse.ino:1:

    C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.23\libraries\SPI\src/SPI.h: In static member function 'static void SPIClass::beginTransaction(SPISettings)':

    C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.23\libraries\SPI\src/SPI.h:203:5: error: 'SPCR' was not declared in this scope

         SPCR = settings.spcr;

         ^

    C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.23\libraries\SPI\src/SPI.h:204:5: error: 'SPSR' was not declared in this scope

         SPSR = settings.spsr;

         ^

    C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.23\libraries\SPI\src/SPI.h: In static member function 'static uint8_t SPIClass::transfer(uint8_t)':

    C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.23\libraries\SPI\src/SPI.h:209:5: error: 'SPDR' was not declared in this scope

         SPDR = data;

         ^

    C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.23\libraries\SPI\src/SPI.h:217:14: error: 'SPSR' was not declared in this scope

         while (!(SPSR & _BV(SPIF))) ; // wait

                  ^

    C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.23\libraries\SPI\src/SPI.h: In static member function 'static uint16_t SPIClass::transfer16(uint16_t)':

    C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.23\libraries\SPI\src/SPI.h:223:11: error: 'SPCR' was not declared in this scope

         if (!(SPCR & _BV(DORD))) {

               ^

    C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.23\libraries\SPI\src/SPI.h:224:7: error: 'SPDR' was not declared in this scope

           SPDR = in.msb;

           ^

    C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.23\libraries\SPI\src/SPI.h:226:16: error: 'SPSR' was not declared in this scope

           while (!(SPSR & _BV(SPIF))) ;

                    ^

    C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.23\libraries\SPI\src/SPI.h:230:16: error: 'SPSR' was not declared in this scope

           while (!(SPSR & _BV(SPIF))) ;

                    ^

    C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.23\libraries\SPI\src/SPI.h:233:7: error: 'SPDR' was not declared in this scope

           SPDR = in.lsb;

           ^

    C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.23\libraries\SPI\src/SPI.h:235:16: error: 'SPSR' was not declared in this scope

           while (!(SPSR & _BV(SPIF))) ;

                    ^

    C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.23\libraries\SPI\src/SPI.h:239:16: error: 'SPSR' was not declared in this scope

           while (!(SPSR & _BV(SPIF))) ;

                    ^

    C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.23\libraries\SPI\src/SPI.h: In static member function 'static void SPIClass::transfer(void*, size_t)':

    C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.23\libraries\SPI\src/SPI.h:247:5: error: 'SPDR' was not declared in this scope

         SPDR = *p;

         ^

    C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.23\libraries\SPI\src/SPI.h:250:16: error: 'SPSR' was not declared in this scope

           while (!(SPSR & _BV(SPIF))) ;

                    ^

    C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.23\libraries\SPI\src/SPI.h:255:14: error: 'SPSR' was not declared in this scope

         while (!(SPSR & _BV(SPIF))) ;

                  ^

    C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.23\libraries\SPI\src/SPI.h: In static member function 'static void SPIClass::setBitOrder(uint8_t)':

    C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.23\libraries\SPI\src/SPI.h:292:31: error: 'SPCR' was not declared in this scope

         if (bitOrder == LSBFIRST) SPCR |= _BV(DORD);

                                   ^

    C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.23\libraries\SPI\src/SPI.h:293:10: error: 'SPCR' was not declared in this scope

         else SPCR &= ~(_BV(DORD));

              ^

    C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.23\libraries\SPI\src/SPI.h: In static member function 'static void SPIClass::setDataMode(uint8_t)':

    C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.23\libraries\SPI\src/SPI.h:298:5: error: 'SPCR' was not declared in this scope

         SPCR = (SPCR & ~SPI_MODE_MASK) | dataMode;

         ^

    C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.23\libraries\SPI\src/SPI.h: In static member function 'static void SPIClass::setClockDivider(uint8_t)':

    C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.23\libraries\SPI\src/SPI.h:303:5: error: 'SPCR' was not declared in this scope

         SPCR = (SPCR & ~SPI_CLOCK_MASK) | (clockDiv & SPI_CLOCK_MASK);

         ^

    C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.23\libraries\SPI\src/SPI.h:304:5: error: 'SPSR' was not declared in this scope

         SPSR = (SPSR & ~SPI_2XCLOCK_MASK) | ((clockDiv >> 2) & SPI_2XCLOCK_MASK);

         ^

    C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.23\libraries\SPI\src/SPI.h: In static member function 'static void SPIClass::attachInterrupt()':

    C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.23\libraries\SPI\src/SPI.h:309:42: error: 'SPCR' was not declared in this scope

       inline static void attachInterrupt() { SPCR |= _BV(SPIE); }

                                              ^

    C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.23\libraries\SPI\src/SPI.h: In static member function 'static void SPIClass::detachInterrupt()':

    C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.23\libraries\SPI\src/SPI.h:310:42: error: 'SPCR' was not declared in this scope

       inline static void detachInterrupt() { SPCR &= ~_BV(SPIE); }

                                              ^

    Несколько библиотек найдено для "Adafruit_SSD1306.h"
    Используется: C:\Users\User\Documents\Arduino\libraries\Adafruit_SSD1306
    Не используется: C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.23\libraries\Adafruit_SSD1306
    Несколько библиотек найдено для "Wire.h"
    Используется: C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.23\libraries\Wire
    Не используется: C:\Program Files (x86)\Arduino\libraries\Wire
    Несколько библиотек найдено для "SPI.h"
    Используется: C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.23\libraries\SPI
    Не используется: C:\Program Files (x86)\Arduino\libraries\SPI
    Несколько библиотек найдено для "Adafruit_GFX.h"
    Используется: C:\Users\User\Documents\Arduino\libraries\Adafruit_GFX_Library
    Не используется: C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.23\libraries\Adafruit_GFX_Library
    exit status 1
    Ошибка компиляции для платы Amperka Iskra Nano Pro.

    Этот отчёт будет иметь больше информации с
    включенной опцией Файл -> Настройки ->
    "Показать подробный вывод во время компиляции"
    Код (C++):
    #include <Adafruit_SSD1306.h>
    #define OLED_Address 0x3C        // 0x3C device address of I2C OLED. Few other OLED has 0x3D
    Adafruit_SSD1306 oled(128, 64);  // create our screen object setting resolution to 128x64

    int a=0;
    int lasta=0;
    int lastb=0;
    int LastTime=0;
    int ThisTime;
    bool BPMTiming=false;
    bool BeatComplete=false;
    int BPM=0;
    #define UpperThreshold 560
    #define LowerThreshold 530

    void setup() {
      oled.begin(SSD1306_SWITCHCAPVCC, OLED_Address);
      oled.clearDisplay();
      oled.setTextSize(2);
    }


    void loop()
    {
      if(a>127)
      {
        oled.clearDisplay();
        a=0;
        lasta=a;
      }

      ThisTime=millis();
      int value=analogRead(0);
      oled.setTextColor(WHITE);
      int b=60-(value/16);
      oled.writeLine(lasta,lastb,a,b,WHITE);
      lastb=b;
      lasta=a;
      if(value>UpperThreshold)
      {
        if(BeatComplete)
        {
          BPM=ThisTime-LastTime;
          BPM=int(60/(float(BPM)/1000));
          BPMTiming=false;
          BeatComplete=false;
          tone(8,1000,250);
        }
        if(BPMTiming==false)
        {
          LastTime=millis();
          BPMTiming=true;
        }
      }
      if((value<LowerThreshold)&(BPMTiming))
        BeatComplete=true;
     
      oled.writeFillRect(0,50,128,16,BLACK);
      oled.setCursor(0,50);
      oled.print("BPM:");
      oled.print(BPM);

      oled.display();
      a++;
    }
     
    Последнее редактирование: 17 апр 2019
  14. parovoZZ

    parovoZZ Гуру

    вот за такие портянки было б не плохо забанить.
     
  15. b707

    b707 Гуру

    у вас несколько несовместмых копий библиотек.
     
  16. dude

    dude Нерд

    Окей, эта серия ошибок исчезла.
    Код (Text):
    Несколько библиотек найдено для "Adafruit_SSD1306.h"
    Используется: C:\Users\User\Documents\Arduino\libraries\Adafruit_SSD1306
    Не используется: C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.23\libraries\Adafruit_SSD1306
    Несколько библиотек найдено для "Wire.h"
    Используется: C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.23\libraries\Wire
    Не используется: C:\Program Files (x86)\Arduino\libraries\Wire
    Несколько библиотек найдено для "SPI.h"
    Используется: C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.23\libraries\SPI
    Не используется: C:\Program Files (x86)\Arduino\libraries\SPI
    Несколько библиотек найдено для "Adafruit_GFX.h"
    Используется: C:\Users\User\Documents\Arduino\libraries\Adafruit_GFX_Library
    Не используется: C:\Users\User\AppData\Local\Arduino15\packages\arduino\hardware\avr\1.6.23\libraries\Adafruit_GFX_Library
    Все остальные остались на месте.
    Может искра не поддерживает те самые библиотеки?
     
  17. parovoZZ

    parovoZZ Гуру

    Он же прямо по-русски пишет:
     
  18. dude

    dude Нерд

    В коде написаны те ошибки которые исчезли
     
  19. dude

    dude Нерд

    Вот какие ошибки остались -
    Код (Text):
    In file included from C:\Users\User\Documents\Arduino\libraries\Adafruit_SSD1306/Adafruit_SSD1306.h:40:0,

                     from C:\Users\User\Desktop\MAX_BPM_OLED_Buzzer\MAX_BPM_OLED_Buzzer.ino:9:

    C:\Users\User\Documents\Arduino\libraries\SPI\src/SPI.h: In static member function 'static void SPIClass::beginTransaction(SPISettings)':

    C:\Users\User\Documents\Arduino\libraries\SPI\src/SPI.h:203:5: error: 'SPCR' was not declared in this scope

         SPCR = settings.spcr;

         ^

    C:\Users\User\Documents\Arduino\libraries\SPI\src/SPI.h:204:5: error: 'SPSR' was not declared in this scope

         SPSR = settings.spsr;

         ^

    C:\Users\User\Documents\Arduino\libraries\SPI\src/SPI.h: In static member function 'static uint8_t SPIClass::transfer(uint8_t)':

    C:\Users\User\Documents\Arduino\libraries\SPI\src/SPI.h:211:5: error: 'SPDR' was not declared in this scope

         SPDR = data;

         ^

    C:\Users\User\Documents\Arduino\libraries\SPI\src/SPI.h:224:13: error: 'SPSR' was not declared in this scope

         while(!(SPSR & _BV(SPIF)));

                 ^

    C:\Users\User\Documents\Arduino\libraries\SPI\src/SPI.h: In static member function 'static uint16_t SPIClass::transfer16(uint16_t)':

    C:\Users\User\Documents\Arduino\libraries\SPI\src/SPI.h:234:11: error: 'SPCR' was not declared in this scope

         if (!(SPCR & _BV(DORD))) {

               ^

    C:\Users\User\Documents\Arduino\libraries\SPI\src/SPI.h:235:7: error: 'SPDR' was not declared in this scope

           SPDR = in.msb;

           ^

    C:\Users\User\Documents\Arduino\libraries\SPI\src/SPI.h:242:10: error: 'SPSR' was not declared in this scope

      while(!(SPSR & _BV(SPIF)));

              ^

    C:\Users\User\Documents\Arduino\libraries\SPI\src/SPI.h:253:10: error: 'SPSR' was not declared in this scope

      while(!(SPSR & _BV(SPIF)));

              ^

    C:\Users\User\Documents\Arduino\libraries\SPI\src/SPI.h:257:7: error: 'SPDR' was not declared in this scope

           SPDR = in.lsb;

           ^

    C:\Users\User\Documents\Arduino\libraries\SPI\src/SPI.h:264:10: error: 'SPSR' was not declared in this scope

      while(!(SPSR & _BV(SPIF)));

              ^

    C:\Users\User\Documents\Arduino\libraries\SPI\src/SPI.h:275:10: error: 'SPSR' was not declared in this scope

      while(!(SPSR & _BV(SPIF)));

              ^

    C:\Users\User\Documents\Arduino\libraries\SPI\src/SPI.h: In static member function 'static void SPIClass::transfer(void*, size_t)':

    C:\Users\User\Documents\Arduino\libraries\SPI\src/SPI.h:287:5: error: 'SPDR' was not declared in this scope

         SPDR = *p;

         ^

    C:\Users\User\Documents\Arduino\libraries\SPI\src/SPI.h:295:10: error: 'SPSR' was not declared in this scope

      while(!(SPSR & _BV(SPIF)));

              ^

    C:\Users\User\Documents\Arduino\libraries\SPI\src/SPI.h:308:13: error: 'SPSR' was not declared in this scope

        while (!(SPSR & _BV(SPIF))) ;

                 ^

    C:\Users\User\Documents\Arduino\libraries\SPI\src/SPI.h: In static member function 'static void SPIClass::setBitOrder(uint8_t)':

    C:\Users\User\Documents\Arduino\libraries\SPI\src/SPI.h:347:31: error: 'SPCR' was not declared in this scope

         if (bitOrder == LSBFIRST) SPCR |= _BV(DORD);

                                   ^

    C:\Users\User\Documents\Arduino\libraries\SPI\src/SPI.h:348:10: error: 'SPCR' was not declared in this scope

         else SPCR &= ~(_BV(DORD));

              ^

    C:\Users\User\Documents\Arduino\libraries\SPI\src/SPI.h: In static member function 'static void SPIClass::setDataMode(uint8_t)':

    C:\Users\User\Documents\Arduino\libraries\SPI\src/SPI.h:354:5: error: 'SPCR' was not declared in this scope

         SPCR = (SPCR & ~SPI_MODE_MASK) | dataMode;

         ^

    C:\Users\User\Documents\Arduino\libraries\SPI\src/SPI.h: In static member function 'static void SPIClass::setClockDivider(uint8_t)':

    C:\Users\User\Documents\Arduino\libraries\SPI\src/SPI.h:360:5: error: 'SPCR' was not declared in this scope

         SPCR = (SPCR & ~SPI_CLOCK_MASK) | (clockDiv & SPI_CLOCK_MASK);

         ^

    C:\Users\User\Documents\Arduino\libraries\SPI\src/SPI.h:361:5: error: 'SPSR' was not declared in this scope

         SPSR = (SPSR & ~SPI_2XCLOCK_MASK) | ((clockDiv >> 2) & SPI_2XCLOCK_MASK);

         ^

    C:\Users\User\Documents\Arduino\libraries\SPI\src/SPI.h: In static member function 'static void SPIClass::attachInterrupt()':

    C:\Users\User\Documents\Arduino\libraries\SPI\src/SPI.h:367:42: error: 'SPCR' was not declared in this scope

       inline static void attachInterrupt() { SPCR |= _BV(SPIE); }

                                              ^

    C:\Users\User\Documents\Arduino\libraries\SPI\src/SPI.h: In static member function 'static void SPIClass::detachInterrupt()':

    C:\Users\User\Documents\Arduino\libraries\SPI\src/SPI.h:368:42: error: 'SPCR' was not declared in this scope

       inline static void detachInterrupt() { SPCR &= ~_BV(SPIE); }
     
  20. parovoZZ

    parovoZZ Гуру

    Где-то не прицеплен заголовочник для МК.