- 12V Akku mit 280 Ah bauen         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 30

Thema: Bibliothek mit Referenzen

Hybrid-Darstellung

Vorheriger Beitrag Vorheriger Beitrag   Nächster Beitrag Nächster Beitrag
  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.06.2019
    Beiträge
    148
    Danke HaWe
    Notpad++ ist toll!

    libraries/Entprellung/Entprellung.h und
    libraries/Entprellung/Entprellung.cpp habe ich - läuft dennoch nicht.

    Gibt es auch eine relative Ordnerzuordnungsmöglichkeit die ich zB. in
    #include "\xxx\yyyy\Entprellung.h"
    verweise?
    __________________________________________________ _
    | Sprache: C | Teensy 3.2 | Arduino 2.x | Status: EwigerAnfaenger |

  2. #2
    HaWe
    Gast
    Zitat Zitat von frabe Beitrag anzeigen
    Danke HaWe
    Notpad++ ist toll!

    libraries/Entprellung/Entprellung.h und
    libraries/Entprellung/Entprellung.cpp habe ich - läuft dennoch nicht.

    Gibt es auch eine relative Ordnerzuordnungsmöglichkeit die ich zB. in
    #include "\xxx\yyyy\Entprellung.h"
    wenn du es so machst, wie ich schrieb, funktioniert es, das mache ich auch ständig so.
    Es müssen dann ntl alle lib files hinein, mit dem korrekten gegenseitigen #include für .h und .cpp

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.06.2019
    Beiträge
    148
    Zitat Zitat von HaWe Beitrag anzeigen
    wenn du es so machst, wie ich schrieb, funktioniert es, das mache ich auch ständig so.
    Es müssen dann ntl alle lib files hinein, mit dem korrekten gegenseitigen #include für .h und .cpp
    Sehe ich das richtig, würde der Sketch-Ordner dann so aussehen?

    ...\xxx\
    sonstwas.ino
    Entprellung.h
    Entprellung.cpp
    noch_mal_bib.h
    noch_mal_bib.cpp
    usw.h
    usw.cpp
    etc.h
    etc.cpp
    __________________________________________________ _
    | Sprache: C | Teensy 3.2 | Arduino 2.x | Status: EwigerAnfaenger |

  4. #4
    HaWe
    Gast
    ja, grundsätzlich richtig!

    ------v
    ..\sonstwas\

    sonstwas.ino
    Entprellung.h
    Entprellung.cpp
    noch_mal_bib.h
    noch_mal_bib.cpp
    usw.h
    usw.cpp
    etc.h
    etc.cpp

    ist aber umständlich, wenn du dein ino mal irgendwann unter einem neuen Namen speicherst.
    guck dir mal in einer "professionellen" lib an, wie .h und .cpp sich gegenseitig #includen, inkl #ifdef oder #pragma once.
    wenn es dann erstmal läuft, verrate ich dir noch nen zusätzlichen Trick - das verwirrrt aber momentan noch...

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.06.2019
    Beiträge
    148
    ...da sind wir wieder bei meinem Urproblem -> der Sketch lässt sich immer noch nicht comp.
    "Fehler beim Kompilieren für das Board Teensy 3.2 / 3.1."

    Hat das mit den Referenzen "&" in Entprellung.h, Entprellung.cpp zu tun?
    HTML-Code:
     int Entprellung(int KontaktPin, unsigned long &StartZeit, int &KontaktZustandAlt, int &EntprellStatus);
    - - - Aktualisiert - - -

    PS:
    Es wird noch komplizierter für mich;
    Habe im x.ino eine "const int Entprellzeit;", die in y.cpp verwendet werden soll.
    Hier meckert der Compiler aber...
    __________________________________________________ _
    | Sprache: C | Teensy 3.2 | Arduino 2.x | Status: EwigerAnfaenger |

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    13.01.2014
    Beiträge
    454
    Blog-Einträge
    3
    Vielleicht kannst du hieraus Nutzen ziehen:
    Tutorial-Erstellen-einer-Arduino-Bibliothek

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.06.2019
    Beiträge
    148
    Kenne ich - steht leider nichts von &Referenzen.
    Klassen wäre mein nächster Schritt, nachdem Bibliothek sauber läuft.
    __________________________________________________ _
    | Sprache: C | Teensy 3.2 | Arduino 2.x | Status: EwigerAnfaenger |

  8. #8
    HaWe
    Gast
    welche Var gehören in den Global-Bereich, in die Funktion als static und in die Objekte?
    "Objekte" sind Instanzen von "Klassen", und die haben eine vorgeschriebene Struktur in C++,
    "normale" prozedurale Funktionen kennen oder haben keine Objekte, C kennt überhaupt keine Objekte.

    Betr. Klassen und davon instantiierte Objekte:
    Alles, was an die Klassen und ihre dann instantiierte Objekte an Werten übergeben wird und was sie als (veränderte, berechnete) Werte zurückgeben, ist "public",
    alles was nur intern für Umrechnungen benötigt wird, ohne dass von außen darauf zugegriffen werden soll, ist "private".
    "static" in Klassen sind Werte, die auch zwischen den Objekt-Instanzen ausgetauscht werden.

    ich bin mir daher nicht sicher, ob du wirklich überhaupt von "Objekten" sprichst, oder ob du etwas ganz anderes meinst.

  9. #9
    HaWe
    Gast
    ich würde alle Einzel-Variablen in einen struct type packen,
    dann mehrere Variablen von dem struct type davon im aktuellen Sketch erzeugen,
    und dann eine beliebige dieser struct-Variablen an eine spezielle Funktion aus der Lib by reference übergeben, die die Einzelwerte ändert,
    zB so

    Code:
    #include "structlib.h"
    
    // das folgende steht in der structlib.h
    /*
    
    #pragma once 
    
    
    typedef struct {  // struct type
       int var1=0;
       int var2=0;
       int var3=0;
    }   myBtnStruct;
    
    void modifyStruct(myBtnStruct & Btn) { 
    // erhält eine Variable vom struct type by reference und gibt deren Werte geändert zurück
       Btn.var1=1;
       Btn.var2=2;
       Btn.var3=3;
    }
    
    */
    
    void setup() {
       Serial.begin(115200);
       delay(1000);
       Serial.println();
       Serial.println("Serial() started");
    
       myBtnStruct btn1, btn2, btn3;  // erzeuge mehrere Variablen vom struct type
    
       // vor Funktionsaufruf
       Serial.println();
       Serial.println(btn1.var1);
       Serial.println(btn1.var2);
       Serial.println(btn1.var3);
    
       Serial.println();
    
      // nach Funktionsaufruf
    
       modifyStruct(btn1);
       Serial.println();
       Serial.println(btn1.var1);
       Serial.println(btn1.var2);
       Serial.println(btn1.var3);
    
       Serial.println();
    
    }
    
    
    void loop() {
    }
    Geändert von HaWe (06.05.2020 um 17:42 Uhr) Grund: vereinfacht

  10. #10
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    13.01.2014
    Beiträge
    454
    Blog-Einträge
    3
    Die "const int Entprellzeit;" wäre etwas, was als Argument in den Konstruktor eines Objekts gehört.

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Arduino Bibliothek soll auf andere Bibliothek zugreifen
    Von RoboterSindCool im Forum Arduino -Plattform
    Antworten: 6
    Letzter Beitrag: 11.12.2016, 15:50
  2. C-Bibliothek für AVRs
    Von drew im Forum C - Programmierung (GCC u.a.)
    Antworten: 2
    Letzter Beitrag: 23.04.2008, 17:52
  3. Referenzen, Parameter für TWI-Funktion
    Von Minifriese im Forum C - Programmierung (GCC u.a.)
    Antworten: 1
    Letzter Beitrag: 11.01.2008, 20:54
  4. Referenzen
    Von JensSchyma im Forum C - Programmierung (GCC u.a.)
    Antworten: 3
    Letzter Beitrag: 12.05.2007, 17:55
  5. DOS - Bibliothek
    Von hacker im Forum Basic-Programmierung (Bascom-Compiler)
    Antworten: 1
    Letzter Beitrag: 14.04.2006, 01:54

Stichworte

Berechtigungen

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

12V Akku bauen