• Witaj na Forum Arduino Polska! Zapraszamy do rejestracji!
  • Znajdziesz tutaj wiele informacji na temat hardware / software.
Witaj! Logowanie Rejestracja


Ocena wątku:
  • 0 głosów - średnia: 0
  • 1
  • 2
  • 3
  • 4
  • 5
Wieloplikowe projekty
#1
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.
 
Odpowiedź
#2
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.
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
#3
(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".
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości