- fchao-Sinus-Wechselrichter AliExpress         
Ergebnis 1 bis 9 von 9

Thema: Code / Projekt richtig strukturieren

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    08.09.2007
    Ort
    Berlin
    Alter
    32
    Beiträge
    1.578
    Hi!

    Makros werde ich wohl definitiv verwenden, variable Schnittstellen brauche ich nicht, weil sich die HW nicht on the fly ändert! Mir stellt sich aber noch die Frage, wie und wo ich die Markos definiere..
    Wo mache ich die HW-Initialisierungen? Alle in einer Datei, oder jede Schnittstelle in dem jeweiligen Modul (also Spi1 in Sensor X Modul zb)?
    Definiere ich alle Variablen und ändere in Zukunft nur noch diese oder ändere ich jedes mal den Code selbst? Also definiere ich die Pins zb und schreibe den Code mit den Defines oder ändere ich die Pins im Code direkt?

    Gruß
    Chris

  2. #2
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    07.04.2015
    Beiträge
    903
    Das ist eine Frage der Vorgehensweise.
    Wenn Du beim Erstellen eines neuen Projektes, einer neuen Version oder Variante die Dateien kopierst, kannst Du die Definitionen peux a peux direkt in den Dateien anpassen.
    Wenn Du die Dateien verlinkst (Verweis auf einen projektübergreifenden Ordner), wirst Du wohl die Hardwaredefinitionen extrahieren müssen.

    Beides hat Vor- und Nachteile. Wenn Du willst, das sich Bugfixes oder Erweiterungen automatisch über all Deine Projekte verteilen lassen, nimmst Du die Dateiverlinkung. Wenn Dich davor graut , kopierst Du besser.

    (ohne Versionsverwaltung würd's mich grauen)
    Geändert von Holomino (28.02.2021 um 15:09 Uhr)

  3. #3
    Erfahrener Benutzer Robotik Einstein
    Registriert seit
    18.03.2018
    Beiträge
    2.650
    "define"s sind Textmakros. Wenn Du die verwendest, machst Du das an einer übersichtlichen Stelle, also in einer Datei *.h
    Ich benutze z.B. eine "defines.h". Die binde ich dann an geeigneter Stelle ein. Da weiß ich, stehen meine Makros drin. Beispiel: #define name wert
    Du verwendest dann überall die Makronamen (-bezeichnungen). Der Compiler ersetzt dann die Namen/Bezeichnungen durch den Text dahinter. Da kannst Du auch Code hinschreiben (nicht nur Werte), manchmal kann das nützlich sein.

    MfG


    Code:
    #ifndef __defines__
    #define __defines__
    
    
    
    
    .....
    
    #define LiPoIn_12 A3
    #define LiPoIn_08 A5
    #define LiPoIn_04 A4
    #define bps 115200
    #define INPUT INPUT_PULLUP
    
    #define setStatePin stateVal = 1; digitalWrite(State, 1);
    
    
    
    
    
    #endif
    "stateVal = 1; digitalWrite(State, 1);" ist Code, der in den Quelltext übernommen wird, wenn ich dort "setStatePin" schreibe.
    Mit "#define INPUT INPUT_PULLUP" definiere ich das Makro INPUT neu, als INPUT_PULLUP, das habe ich zum Ausprobieren. Gibt eine Warnung, funktioniert aber.

    - - - Aktualisiert - - -

    Schau mal im Internet nach "Überladen von Funktionen". Du kannst denselben Funktionsnamen mehrfach verwenden, jedes mal mit andern Übergabeparametern und anderem Code, falls Du so was brauchen kannst.

Ähnliche Themen

  1. Ein Stück C-Code - sieht richtig aus, aber es gibt ne Fehlfunktion
    Von oberallgeier im Forum C - Programmierung (GCC u.a.)
    Antworten: 5
    Letzter Beitrag: 28.12.2012, 11:21
  2. RP6: Projekt Morse-Code
    Von Dirk im Forum Robby RP6
    Antworten: 6
    Letzter Beitrag: 21.03.2012, 17:48
  3. C-Programm strukturieren/aufteilen
    Von dreadbrain im Forum C - Programmierung (GCC u.a.)
    Antworten: 8
    Letzter Beitrag: 09.06.2010, 18:27
  4. Wie kopiert man Quelltexte richtig in ein anderes Projekt?
    Von rogerberglen im Forum Assembler-Programmierung
    Antworten: 2
    Letzter Beitrag: 18.08.2007, 11:49
  5. MIDI- Code richtig?
    Von Xtreme im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 3
    Letzter Beitrag: 15.03.2006, 07:32

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Solar Speicher und Akkus Tests