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![]()
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![]()
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.
In erster Linie geht es mir darum die mbed Befehle wie DigitalIn usw zu verwenden anstatt das in Arduino mit zb pinMode(right1,OUTPUT); Ist das irgendwie importierbar ohne von c++ auf c wechseln zu müssen? Unten sieht man wie ich es gerne möchte und im zweiten code wie es in arduino ist. Das meinte ich mit Importieren.
Code:#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 Shieldbot::Shieldbot() { DigitalOut right1(D5); DigitalOut speedPinRight(D6); DigitalOut right2(D7); DigitalOut left1(D8); DigitalOut speedPinLeft(D9); DigitalOut left2(D10);}Code:int speedmotorA = 255; //define the speed of motorA int speedmotorB = 255; //define the speed of motorB Shieldbot::Shieldbot() { pinMode(right1,OUTPUT); pinMode(right2,OUTPUT); pinMode(speedPinRight,OUTPUT); pinMode(left1,OUTPUT); pinMode(left2,OUTPUT); pinMode(speedPinLeft,OUTPUT); pinMode(finder1,INPUT); pinMode(finder2,INPUT); pinMode(finder3,INPUT); pinMode(finder4,INPUT); pinMode(finder5,INPUT); }
C++ kann auch ANSI C code mitkompilieren, aber nicht umgekehrt.
Wenn also deine mbed C Libs in C++ Sourcecode #included werden können, spricht nichts dagegen, nur musst du den mbed C-Compiler durch einen C++ Compiler ersetzen (falls er das nicht sowieso schon ist).
aber ich kenne mbed auch nicht, habe es nie verwendet (viel zu kompliziert)
Lesezeichen