- 3D-Druck Einstieg und Tipps         
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 12

Thema: Mbed Mikrocontroller Bibliotheken Header

  1. #1
    Neuer Benutzer Öfters hier
    Registriert seit
    09.03.2018
    Beiträge
    18

    Mbed Mikrocontroller Bibliotheken Header

    Anzeige

    Powerstation Test
    hi wer kennt sich auf mbed aus?? ich schreibe gerade eine arduino roboter bibliothek um und bekomme folgenden Fehler angezeigt leider weiß ich nicht mehr weiter.Anbei die.c die .h und das main Programm.

    Klicke auf die Grafik für eine größere Ansicht

Name:	shieldbot punkt c.PNG
Hits:	7
Größe:	5,6 KB
ID:	33333
    Klicke auf die Grafik für eine größere Ansicht

Name:	shieldbot punkt h.PNG
Hits:	7
Größe:	9,9 KB
ID:	33334
    Klicke auf die Grafik für eine größere Ansicht

Name:	main.PNG
Hits:	7
Größe:	12,8 KB
ID:	33335

  2. #2
    Erfahrener Benutzer Robotik Einstein Avatar von i_make_it
    Registriert seit
    29.07.2008
    Ort
    Raum DA
    Alter
    56
    Beiträge
    2.814
    Wie sind denn Deine C++ Kenntnisse hinsichtlich Klassen, Konstruktor etc.?

    Da der Konstruktor bei der Definition eines Objektes immer automatisch aufgerufen wird, darf er in der Regel
    nicht
    im private-Bereich der Klasse stehen. Sie könnten ansonsten kein Objekt der Klasse definieren da der Konstruktor nicht aufgerufen werden kann.
    Vergleiche mal die Struktur Deiner .ccp und .h mit funktionierenen Libraries bzw. lies ggf. mal etwas zu Klassen/Konstruktoren/Destruktoren dem Aufbau und den Bedingungen.
    Im geposteten Code sehe ich kein "public:". Wenn der so vollständig ist, fehlt da noch einiges.

  3. #3
    Neuer Benutzer Öfters hier
    Registriert seit
    09.03.2018
    Beiträge
    18
    also cpp hab ich bislang nicht gemacht, wir machen in der Uni c. Ich hab mal meine .cpp in .c umgenannt da ich weiterhin mit c programmieren möchte.Gibts es da bei den Klassen und Strukturen unterschiede zwischen c und cpp ?
    Ich habe das ganze jetzt mal übersichtlicher gestaltet und es sieht nun so aus...
    Danke für die Hilfe

    Klicke auf die Grafik für eine größere Ansicht

Name:	punkt c.jpg
Hits:	2
Größe:	36,9 KB
ID:	33336
    Klicke auf die Grafik für eine größere Ansicht

Name:	punkt h.jpg
Hits:	1
Größe:	28,1 KB
ID:	33337
    Klicke auf die Grafik für eine größere Ansicht

Name:	main.jpg
Hits:	1
Größe:	32,9 KB
ID:	33338

  4. #4
    HaWe
    Gast
    Zitat Zitat von peterfb Beitrag anzeigen
    also cpp hab ich bislang nicht gemacht, wir machen in der Uni c....
    Gibts es da bei den Klassen und Strukturen unterschiede zwischen c und cpp ?
    in C gibt es keine Klassen, sondern nur Strukturen.
    Nur in C++ gibt es Klasssen, das ist ja genau der Grund, warum C++ auf der Basis von C entwickelt wurde.

    C++ ist im Wesentlichen C90 plus Klassen plus Vererbung plus Overloading plus stream,
    mit teilweise auch strengeren Regeln als C, nicht immer C99-kompatibel,
    und C++ Syntax und Sprachumfang sind extrem Versions-abhängig ( C++(98), C++(03), C++(11), C++(14), C++(17) ) .

    Arduino basiert auf C++ (die älteren Versionen C++(03), ab 1.6.6 dann C++(11))


    PS,
    Könntest du deinen Code bitte als Text in Code-Tags posten?!?
    Geändert von HaWe (11.03.2018 um 10:57 Uhr)

  5. #5
    Neuer Benutzer Öfters hier
    Registriert seit
    09.03.2018
    Beiträge
    18
    achso okay top.
    ja ich habe eine roboter bib aus arduino mit cpp die ich nun auf mbed importieren will als c bib.
    punkt c.txt
    punkt h.txt
    Ich hoffe du hast das gemeint mit code in Textform

    Danke für eure/deine Hilfe

  6. #6
    HaWe
    Gast
    Zitat Zitat von peterfb Beitrag anzeigen
    achso okay top.
    ja ich habe eine roboter bib aus arduino mit cpp die ich nun auf mbed importieren will als c bib.
    punkt c.txt
    punkt h.txt
    Ich hoffe du hast das gemeint mit code in Textform
    nein
    poste bitte den korrekten vollständigen Sourcecode in normaler Textform, so wie hier...!

    Code:
    #include <LiquidCrystal_I2C.h>
    
    LiquidCrystal_I2C lcd (0x20,16,2);
    void setup()
    {
       lcd.init();
       lcd.backlight();
    }
    void loop()
    {
       lcd.setCursor(0,0);
       lcd.print("Hello,world");
       lcd.setCursor(0,1);
       lcd.print("LCD I2C");
    }


    aber C++ Libs auf ANSI C runter-portieren .... na dazu viel Glück...!

  7. #7
    Neuer Benutzer Öfters hier
    Registriert seit
    09.03.2018
    Beiträge
    18
    das sind nur kleine bibs die einen roboter fahren lassen, denke das sollte gehen?

    Code:
    // include this library's description file
    #include "Shieldbot.h"
    
    #define right1 D5           //define I1 interface
    #define speedPinRight D6    //enable right motor (bridge A)
    #define right2 D7               //define I2 interface 
    #define left1 D8            //define I3 interface 
    #define speedPinLeft D9     //enable motor B
    #define left2 D10           //define I4 interface 
    
    
    int speedmotorA = 255; //define the speed of motorA
    int speedmotorB = 255; //define the speed of motorB
    
    void Shieldbot::motor()
    {
    DigitalOut right1(D5);
    DigitalOut speedPinRight(D6);
    DigitalOut right2(D7);
    DigitalOut left1(D8);
    DigitalOut speedPinLeft(D9);
    DigitalOut left2(D10);}
    Code:
    // ensure this library description is only included once
    #ifndef Shieldbot_h
    #define Shieldbot_h
    
    
    // include types & constants of Wiring core API
    #include "mbed.h"
    
    // library interface description
    class Shieldbot
    {
        public:
        
        void motor();
        
    
    };
    
    #endif

  8. #8
    HaWe
    Gast
    ja, so kann man's lesen.
    Aber class:: etc gibts halt nicht in C.

  9. #9
    Neuer Benutzer Öfters hier
    Registriert seit
    09.03.2018
    Beiträge
    18
    kannst du mir anhand meines Beispiels das einmal richtig zeigen? ich hab mir das mal in coocox in c mit typedef usw angeschaut und versucht aber bekomme trotzdem noch Fehlermeldungen

  10. #10
    HaWe
    Gast
    ich selber kann kein C++, und C++ zu C portieren erst Recht nicht. Ich verwende nur die Arduino C++ Libs so wie sie sind.

    Der einfachste Weg, den ich sehe:
    Verwende weiter C++ mit g++, und wenn du aus Arduino-Libs alles herausstreichst was mit mit Serial() oder Wire() zu tun hat, kann man die Libs auch in jeder anderen Plattform/Umgebung weiter verwenden, wenn es denn ein g++ Compiler ist mit der gleichen Version: es ist ja alles regelrechter C++ Code, mehr nicht.
    Ich habe sogar schon Arduino- C++ -Libs auf einem Raspberry Pi unter Linux C++ compilieren und laufen sehen.

Seite 1 von 2 12 LetzteLetzte

Ähnliche Themen

  1. Frage zu Pins auf ICSP-Header (Mega) bzw. SPI-Header (Due)
    Von HaWe im Forum Arduino -Plattform
    Antworten: 5
    Letzter Beitrag: 14.12.2014, 17:16
  2. dynamixel rx-24F mit mbed ansteuern
    Von sh4rky im Forum Motoren
    Antworten: 0
    Letzter Beitrag: 05.06.2012, 12:02
  3. Drehgeber - MBed - Borland - Wie kann ich die aktuelle Position anzeigen?
    Von boorstii im Forum ARM - 32-bit-Mikrocontroller-Architektur
    Antworten: 0
    Letzter Beitrag: 31.05.2011, 08:00
  4. NXP mbed Design-Wettbewerb: Die Auflösung!
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 0
    Letzter Beitrag: 27.04.2011, 19:40
  5. NXP mbed Design Wettbewerb - Der Countdown läuft!
    Von Roboternetz-News im Forum Neuigkeiten / Technik-News / Nachrichten / Aktuelles
    Antworten: 0
    Letzter Beitrag: 02.03.2011, 18:47

Berechtigungen

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

Labornetzteil AliExpress