Go Down

Topic: Wie strukturiert man ein größeres Programm? (Read 9327 times) previous topic - next topic

nocheinAndi

Guten morgen :)

Ich habe in meinem Programm im wesentlichen folgende Programmteile:
RFID lesen und verarbeiten
GPS Koordinaten lesen
Kompass lesen
Heading / Bearing berechnen
Motor-steuern


Ich fürchte, darüber würde ich schnell den Überblick verlieren wenn ich es alles von oben nach unten durchschreibe :)

Daher würde ich die einzelnen Teile gerne auslagern in einzelne Bibliotheken. Vor allem könnte ich später einzelne Teile leicht austauschen oder für andere Projekte recyceln.

Ist das so sinnvoll, oder gibt es da andere elegante Wege Programmteile zu verlinken?


Besten Dank

Andi

Sorry, C ist für mich völliges Neuland

MaFu

Die IDE hat rechts oben einen Button mit einem Pfeil nach rechts.
Wenn Du da mal draufklickst, kommt ein Menü.
Wähl den Menüpunkt "New Tab" und vergieb dann in der Eingabezeile unten einen sinnvollen Dateinamen (ohne Erweiterung).
Damit werden in Deinem Projektverzeichnis weitere Programmdateien angelegt, beim compilieren werden sie alle zusammengefügt.
Erstell also z.B. eine Datei RFID und lagere alle RFID-spezifischen Funktionen dort aus. So bleiben auch größere Programme übersichtlich. Und wenn Du die RFID Funktionen in einem anderen Projekt nochmal brauchen kannst, kopier einfach die Datei.

Eine Bibliothek zu erstellen ist in dem Moment sinnvoll (und auch nur dann), wenn Du die Funktionen 1:1 immer wieder verwenden kannst.
_______
Manfred

Jomelo

Ich mach es mittlerweile so,  das ich  die IDE nur noch zum Übertragen und Compilieren des Programms nutze.

Da meine Projekte auch irgend wann mehr als  5000 Zeilen hatten  bin ich zu Visual Studio gewechselt.
Da habe ich zwar kein Syntax Highlighting für die Arduino Befehle, aber eine Übersichtliche Umgebung.
while(!success){try++;}

nocheinAndi

Danke MaFu.
Ich denke das ist genau das, was ich gesucht habe :)
Somit habe ich keinen Stress wenn ich eine bestimmte Bibliothek in mehreren Programmteilen öfter benötige :)

Visual Studio?
Da gibt es eine Arduino Erweiterung für, oder? Hab mich damit noch nie beschäftigt. Ich glaube für den Anfang bleibe ich mal bei der normalen IDE, bevor ich mich noch mit VisualStudio vertraut mache. Mein Problem ginge schon damit los, welche Version von Visual Studio ich nun brauche, bzw. was die jeweils sinnvolles können. Bleibe wohl vorsichtshalber bei der einfachen IDE :)

Nachtwind

Ich nutze nun seit einiger Zeit http://code.google.com/p/avr-project-ide/

Die IDE kann sowohl Arduino (PDE oder C) als auch mit "normalen" Atmels umgehen. Hat Syntax highlighting (Auch speziell für Arduino) und unterstützt mehrere Dateien in einem Projekt. Bislang ist die IDE ganz einfach unübertroffen - selbst VS, was ich sonst gerne nutze, klappt nicht soo gut (in meinen Augen)..

Megaionstorm

#5
Oct 21, 2010, 12:36 pm Last Edit: Oct 21, 2010, 12:41 pm by Megaionstorm Reason: 1
Die besten Wege ein Programm zu struktuieren sind Unterprogramme oder Bibliotheken. Wenn man ein Unterprogramm ändert wirkt sich dies nur auf das aktuelle Programm aus. Bei einer Bibliothek hingegen auf alle Programme welche auf diese zurückgreifen.
Mein Arduino Projekte Blog:
http://ardu-megatank.blogspot.de/

uwefed

@Megaionstorm
Einige Begriffserklährung: C hat keine Unterprogramme sondern Funktionen.
Grüße Uwe

Megaionstorm

#7
Oct 21, 2010, 03:31 pm Last Edit: Oct 21, 2010, 03:32 pm by Megaionstorm Reason: 1
Eine Procedure (Pascal/Delphi) und eine Function sind beides Unterprogramme. Ein Unterprogramm ist eine Subroutine bei der das Programm nach Abarbeitung wieder an die Stelle zurückkehrt von der die Subroutine aus aufgerufen wurde. Ähnlich dem GOSUB und RETURN in Basic. Unterprogramm ist hierbei ein Oberbegriff für Proceduren und Functionen. Wobei eine Procedure keinen Rückgabewert liefert und eine Function hingegen schon ! Wobei eine Function mit einem VOID schon fast eine Procedure ist.
Mein Arduino Projekte Blog:
http://ardu-megatank.blogspot.de/

Signal

Bis jetzt musste ich das noch nicht machen. Aber da die grundlegende Sprache C ist kann man sicher ganz normal programmieren. dH. n paar  C-Files udn Headers machen und diese dann im Hauptgrog. benutzen.

Aber vielleicht hat die IDE damit Probleme?

Go Up