• 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
Arduino IDE i zakładki.
#1
Witam. Zaczynam pisać dosyć długi i zaawansowany program i chcę go sobie podzielić na części, z których każda jest odpowiedzialna za co innego (funkcje i deklaracje zmiennych), oraz część z pętlą loop, gdzie całość jest odpowiednio zarządzana. Zacząłem to robić, używając zakładek w Arduino IDE. Myślałem, że one jedynie dzielą program na części, który i tak jest jedną całością, a jednak okazało się, że zmienne globalne, obowiązują tylko w jednej zakładce, a w innych ich nie "wykrywa". W jaki sposób mogę to zrobić inaczej, aby działało, lub jaki jest inny software, z taką możliwością? Wiem, że mogę to zrobić dzieląc program na pliki .h, jednak ważne dla mnie jest, aby w każdej z części były te same zmienne globalne i żeby można było szybko i wygodnie poruszać się po nich. Krótko mówiąc, chce podzielić program na segmenty, zawierające swoją nazwę, które tak naprawdę są tylko jednym ciągłym programem.
   
 
Odpowiedź
#2
Teoretycznie jest to możliwe z extern ale klauzula sumienia nie pozwala napisać przykładu. Jeśli chcesz używać zmiennych globalnych zdefiniowanych w jednym pliku h lub ino przez funkcje (wewnątrz nich) innego pliku h to raczej pominąłeś jakiś istotny rozdział w nauce programowania i napisanie rozbudowanego programu skończy się klejeniem taśmą chomika. Poza tym akurat w Arduino skompiluje jeśli będziesz je includował w kolejności używania i w żadnym kolejnym nie braknie wymaganych, bo są zadeklarowane w już włączonych.
Zewnętrzne pliki/biblioteki pisze się tak, że ich użycie nie zależy od zdefiniowania zmiennych globalnych.
Poczytaj więcej o C/C++ i pooglądaj jak są robione biblioteki, które już masz na dysku, tam jest pewnie wszystko czego szukasz.
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
#3
(09-11-2021, 00:08)kaczakat napisał(a): Poza tym akurat w Arduino skompiluje jeśli będziesz je includował w kolejności używania i w żadnym kolejnym nie braknie wymaganych, bo są zadeklarowane w już włączonych.


Właśnie chyba problem był w kolejności. Zauważyłem, że kompilują się w kolejności alfabetycznej, a jako pierwszy, zawsze program o tytule folderu. Zakładki wcześniej miałem w jakiejś dziwnej kolejności i teraz powinno działać. Rozumiem, że zakładki sklejają się tak jakby w jeden program po kolei?
 
Odpowiedź
#4
Nie wiem jak to działa do końca "w automacie", nigdy nie liczyłem na automatyczne załączanie zakładek, na samej gorze szkicu wpisuję
#include "plikDoZalaczenia1.h"
#include "plikDoZalaczenia2.h"
Miło być decenianym https://buycoffee.to/kaczakat
 
Odpowiedź
  


Skocz do:


Przeglądający: 1 gości