Wieloplikowe projekty - Wersja do druku +- Arduino Polska Forum (https://forum.arduinopolska.pl) +-- Dział: Korzystanie z Arduino (https://forum.arduinopolska.pl/dzial-korzystanie-z-arduino) +--- Dział: Piaskownica (https://forum.arduinopolska.pl/dzial-piaskownica) +--- Wątek: Wieloplikowe projekty (/watek-wieloplikowe-projekty) |
Wieloplikowe projekty - oscarX - 07-11-2023 Witam, Zaczynam stopniowo z STM32. To znacznie potężniejszy procek niż AVR więc i programy mogą być większe, łączące wiecej funkcji w jednym. I tutaj jest problem: arduino IDE otwiera wyłącznie swoje pliki (.ino) a wypadałoby część funkcji/objektów wydzielić do innych plików źródłowych (.c/.cpp/.h). Czy daje się (i jeśli tak to jak) zrobić to w Arduino IDE? Znalazłem w sieci poradę, by utworzyć wiele plików .ino i one są kompilowane razem z jednego katalogu. RE: Wieloplikowe projekty - kaczakat - 07-11-2023 Można mieć w katalogu z .ino pliki (.c/.cpp/.h), całe biblioteki, a poza tym jak bardziej skomplikowane projekty, to może lepiej użyć PlatformIO. RE: Wieloplikowe projekty - oscarX - 07-11-2023 (07-11-2023, 18:52)kaczakat napisał(a): Można mieć w katalogu z .ino pliki (.c/.cpp/.h), całe biblioteki, a poza tym jak bardziej skomplikowane projekty, to może lepiej użyć PlatformIO. Właśnie zauważyłem, że jak się doda pliki .h/.c/.cpp do katalogu to IDE automatycznie je otwiera w zakładkach, i próbuje skompilować. Problem w tym, że one nie podlegają "preprocesingowi" Arduino i kompilator nie widzi definicji typu pinMode, digitalWrite itp. W samych szkicu nic nie trzeba inkludować, a tu pewnie tak. Jeszcze spróbuje nazwać pliki .ino - może to pomoże. A jak nie to już wolałbym po prostu przejść na normalną konsolową kompilacje - make, gcc w odpowiedniej wersji, można dolinkować biblioteki Arduino i pewnie będzie hulać. Najwyżej "strace" na IDE by zobaczyć co uruchamia i jak. ps. Zmieniłem nazwe i działa. A przynajmniej się buduje z użyciem funkcji z dodatkowego pliku. Czy takie czyste c/c++ (bez odwołań do funkcji arduino) można dodać do katalogu, takie z odwołaniemi trzeba zmienić na .ino. Pliki .h mogą być, one nie są kompilowane "samodzielnie". |