LionBS Napisano Styczeń 6, 2022 Udostępnij Napisano Styczeń 6, 2022 (edytowany) 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 Styczeń 6, 2022 przez LionBS Cytuj Link do komentarza Share on other sites More sharing options...
Pomocna odpowiedź
Dołącz do dyskusji, napisz odpowiedź!
Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!