- Akku Tests und Balkonkraftwerk Speicher         
Seite 1 von 3 123 LetzteLetzte
Ergebnis 1 bis 10 von 30

Thema: Bibliothek mit Referenzen

  1. #1
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.06.2019
    Beiträge
    147

    Bibliothek mit Referenzen

    Anzeige

    Praxistest und DIY Projekte
    Hallo zusammen.
    Nachdem ich dank einiger Forenmitglieder eine wunderbar, multible Kontaktentprellung hin bekommen habe, möchte ich meine Funktionen als Bibliotheken auslagern.

    Hierzu vorab die Frage1:
    Müssen meine Bib zwingend in dem Arduino-Bib-Verzeichnis hinterlegt sein?
    Ich würde gerne meinen Bib-Ordner direkt an dem Anwendungs-Patch mitführen.

    Frage2:
    Finde die Bearbeitung von *.h und *.cpp im Win-Editor, oder Word-Pad unübersichtlich.
    Kennt ihr einen übersichtlicheren Editor, ähnlich dem Arduino-IDE?

    Frage3:
    Meine Kontaktentprellung funktioniert prima! Derzeit seht alles in einem Patch.
    Meine Entprellfunktion besteht aus 2 Funktionsblöcken;
    1 Zwischenspeicher für jeden einzelnen Kontakt/Taster/Schalter
    und einen universellen, der die eigentliche Entprellung überwacht. Der letzt genannte arbeitet mit Referenzen.
    Leider funktioniert das bei mir nicht...
    Sind Referenz-Übergaben überhaupt möglich?

    200425_KontEntpr_Bib.ino
    HTML-Code:
    #include "Entprellung.h"
    
    void loop(){
    switch (Taste1(Taste1Pin)){...}
    ...
    }
    
    int Taste1(int KontPin) {  // Funktion als Zwischenspeicher für jeden Einzel-Kontakt  
      static unsigned long StartZeit = 0;
      static int KontZustAlt = digitalRead(KontPin);
      static int EntprellStatus = digitalRead(KontPin);
      return Entprellung(KontPin, StartZeit, KontZustAlt, EntprellStatus); 
    }
    Entprellung.h
    HTML-Code:
    #include "Arduino.h"
    int Entprellung(int KontaktPin, unsigned long &StartZeit, int &KontaktZustandAlt, int &EntprellStatus);	// Funktions-Prototyp
    Entprellung.cpp
    HTML-Code:
    #include "Arduino.h"	// Arduino einschließen
    #include "Entprellung.h"
    int Entprellung(int KontaktPin, unsigned long &StartZeit, int &KontaktZustandAlt, int &EntprellStatus) {...}
    Geändert von frabe (29.04.2020 um 13:44 Uhr)
    __________________________________________________ _
    | Sprache: C | Teensy 3.2 | Arduino 2.x | Status: EwigerAnfaenger |

  2. #2
    HaWe
    Gast
    mit code:: blocks oder Notepad++ kannst du sehr gut .h und .c files erstellen, du kannst sie sogar als externen Editor für Arduino benutzen.
    Oder du erstellt es erst als .ino file in der Arduino-IDE und benennst es anschließend in .h oder .c etc. um.

  3. #3
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.06.2019
    Beiträge
    147
    PS:
    Die Fehlermeldung beim compilieren:
    HTML-Code:
    Arduino: 1.8.5 (Windows 10), TD: 1.47, Board: "Teensy 3.2 / 3.1, Serial, 24 MHz, Faster, German"
    ...
    Bibliothek Entprellung im Ordner: C:\Program Files (x86)\Arduino\libraries\Entprellung (legacy) wird verwendet
    Fehler beim Kompilieren für das Board Teensy 3.2 / 3.1.
    __________________________________________________ _
    | Sprache: C | Teensy 3.2 | Arduino 2.x | Status: EwigerAnfaenger |

  4. #4
    HaWe
    Gast
    wenn deine #includeten files im selben Ordner direkt "neben" deinem ino file sind, geht es (kein weiterer Unterordner nötig).
    Oder im Library-Ordner, aber dann innerhalb eines identisch benannten Unterordners.

    (also libraries/Entprellung/Entprellung.h und libraries/Entprellung/Entprellung.cpp)
    Geändert von HaWe (29.04.2020 um 14:36 Uhr)

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.06.2019
    Beiträge
    147
    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 |

  6. #6
    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

  7. #7
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.06.2019
    Beiträge
    147
    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 |

  8. #8
    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...

  9. #9
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    07.06.2019
    Beiträge
    147
    ...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 |

  10. #10
    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

Seite 1 von 3 123 LetzteLetzte

Ähnliche Themen

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

Stichworte

Berechtigungen

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

12V Akku bauen