Skocz do zawartości

Błąd kompilacji dla płytki Arduino Uno WiFi Rev2


LionBS

Pomocna odpowiedź

Błąd kompilacji dla płytki Arduino Uno WiFi Rev2.

 

Chcę wgrać na Arduino Uno WiFi Rev2. kod programu nadajnika i wyskakują mi błędy. Podobne błędy wyskakiwały w starszej bibliotece do obsługi radia <VirtualWire.h>
po zainstalowaniu biblioteki <RH_ASK.h> nadal nie mogę wgrać kodu. Gdzieś wyczytałem aby przejść na nowszą bibliotekę RadioHead i guzik z tego. Na Arduino Uno  inne programy mi działałają. 

Mam też Arduino UNO i nie ma problemu z graniem na niego kodu do nadajnika.

Kod programu:

#include <RH_ASK.h>
#include <SPI.h> // Not actualy used but needed to compile

RH_ASK driver;

void setup()
{
  pinMode(13,1);
    Serial.begin(9600);  // Debugging only
    if (!driver.init())
         Serial.println("init failed");
}

void loop()
{
    uint8_t buf[12];
    uint8_t buflen = sizeof(buf);
    String x="";
    String y="Turn LED OFF";
    if (driver.recv(buf, &buflen)) // Non-blocking
    {
      int i;
      // Message with a good checksum received, dump it.
      Serial.print("Message: ");
      x=((String)(char*)buf);
      x.trim();
      Serial.println(x+ " :"+x.length());   
       if(x=="Turn LED ON!")
       {
        Serial.println("true ");
        digitalWrite(13,1);
        }
        else
        {
          digitalWrite(13,0);
          }
          
    }
    
}

 

Błędy które wyskakują:
 

C:\Program Files (x86)\Arduino\libraries\RadioHead\RHHardwareSPI.cpp: In member function 'virtual void RHHardwareSPI::attachInterrupt()':
C:\Program Files (x86)\Arduino\libraries\RadioHead\RHHardwareSPI.cpp:49:25: error: 'virtual void SPIClassMegaAVR::attachInterrupt()' is private within this context
     SPI.attachInterrupt();
                         ^
In file included from C:\Program Files (x86)\Arduino\libraries\RadioHead/RadioHead.h:540:0,
                 from C:\Program Files (x86)\Arduino\libraries\RadioHead/RHGenericSPI.h:10,
                 from C:\Program Files (x86)\Arduino\libraries\RadioHead/RHHardwareSPI.h:10,
                 from C:\Program Files (x86)\Arduino\libraries\RadioHead\RHHardwareSPI.cpp:7:
C:\Users\Lenovo T420S\AppData\Local\Arduino15\packages\arduino\hardware\megaavr\1.8.7\libraries\SPI\src/SPI.h:186:15: note: declared private here
   inline void attachInterrupt() { SPI0.INTCTRL |= (SPI_IE_bm); }
               ^~~~~~~~~~~~~~~
C:\Program Files (x86)\Arduino\libraries\RadioHead\RHHardwareSPI.cpp: In member function 'virtual void RHHardwareSPI::detachInterrupt()':
C:\Program Files (x86)\Arduino\libraries\RadioHead\RHHardwareSPI.cpp:56:25: error: 'virtual void SPIClassMegaAVR::detachInterrupt()' is private within this context
     SPI.detachInterrupt();
                         ^
In file included from C:\Program Files (x86)\Arduino\libraries\RadioHead/RadioHead.h:540:0,
                 from C:\Program Files (x86)\Arduino\libraries\RadioHead/RHGenericSPI.h:10,
                 from C:\Program Files (x86)\Arduino\libraries\RadioHead/RHHardwareSPI.h:10,
                 from C:\Program Files (x86)\Arduino\libraries\RadioHead\RHHardwareSPI.cpp:7:
C:\Users\Lenovo T420S\AppData\Local\Arduino15\packages\arduino\hardware\megaavr\1.8.7\libraries\SPI\src/SPI.h:187:15: note: declared private here
   inline void detachInterrupt() { SPI0.INTCTRL &= ~(SPI_IE_bm); }
               ^~~~~~~~~~~~~~~
exit status 1
Błąd kompilacji dla płytki Arduino Uno WiFi Rev2.

 

Proszę o pomoc co z tym zrobić. Cały czas nad tym pracuję i czytam co się da aby znaleźć rozwiązanie. 

Edytowano przez LionBS
Link do komentarza
Share on other sites

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.