Podział projektu na pliki - problem z LCD_I2C - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Programowanie w Arduino (https://forum.arduinopolska.pl/dzial-programowanie-w-arduino) +--- Wątek: Podział projektu na pliki - problem z LCD_I2C (/watek-podzia%C5%82-projektu-na-pliki-problem-z-lcd-i2c) |
Podział projektu na pliki - problem z LCD_I2C - Mariusz123 - 10-03-2019 Witam serdecznie, Bardzo proszę o pomoc przy podziale projektu na pliki. Działający kod bez podziału na pliki wygląda tak: Kod: #include <Wire.h> Zależy mi na tym, aby deklaracja i definicja funkcji lcd_splash() znalazła się w oddzielnym pliku, a wywołanie w programie głównym. Robię zatem tak: Zmieniam kod głównego programu na taki: Kod: #include <Wire.h> Tworzę plik additives.h, w którym umieszczam kod: Kod: // additives.h Następnie tworzę plik additives.cpp: Kod: #include <Wire.h> Niestety, kompilacja nie przebiega pomyślnie. Wszelkie manipulacja z tworzeniem obiektu lcd w różnych miejscach nie przynoszą efektów. Czy może ktoś podpowiedzieć, gdzie popełniam błąd i jak to naprawić? Z góry dziękuję za odpowiedź. Pozdrawiam Podział projektu na pliki - problem z LCD_I2C - wchpikus - 10-03-2019 A gdzie w pliku masz zalaczona biblioteke do lcd? Zreszta czytaj co pisze po kompilacji, na samej gorze jest blad. Wysłane z mojego SM-G950F przy użyciu Tapatalka RE: Podział projektu na pliki - problem z LCD_I2C - Mariusz123 - 10-03-2019 (10-03-2019, 16:01)wchpikus napisał(a): A gdzie w pliku masz zalaczona biblioteke do lcd? Zreszta czytaj co pisze po kompilacji, na samej gorze jest blad. Biblioteka do LCD jest załączona przez: #include <Wire.h> //obsluga i2c #include <LiquidCrystal_I2C.h> // obsluga LCD I2C To jest kod, który działa poprawnie: Kod: #include <Wire.h> I teraz jak funkcję lcd_splash() przenieść do oddzielnego pliku, żeby nie zaśmiecać programu głównego. Pozdrawiam... Podział projektu na pliki - problem z LCD_I2C - wchpikus - 10-03-2019 A jaki masz blad kompilacji? Wysłane z mojego SM-G950F przy użyciu Tapatalka RE: Podział projektu na pliki - problem z LCD_I2C - Mariusz123 - 10-03-2019 (10-03-2019, 17:42)wchpikus napisał(a): A jaki masz blad kompilacji? sketch\additives.cpp.o (symbol from plugin): In function `lcd': (.text+0x0): multiple definition of `lcd' sketch\_08_LCD.ino.cpp.o (symbol from plugin).text+0x0): first defined here collect2.exe: error: ld returned 1 exit status exit status 1 Błąd kompilacji dla płytki Arduino Leonardo. Podział projektu na pliki - problem z LCD_I2C - wchpikus - 10-03-2019 No to widac co masz zle multiple definition of `lcd'. Wysłane z mojego SM-G950F przy użyciu Tapatalka RE: Podział projektu na pliki - problem z LCD_I2C - Mariusz123 - 10-03-2019 Zatem co jest źle? RE: Podział projektu na pliki - problem z LCD_I2C - Robson Kerman - 11-03-2019 W pliku głównym dołączasz bibliotekę LiquidCrystal_I2C.h, oraz w pliku additives.cpp też ją dołączasz. A kompilator Cię o tym fakcie informuje. Nie rozumiem, czego nie rozumiesz? |