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
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
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...!![]()
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
ja, so kann man's lesen.
Aber class:: etc gibts halt nicht in C.
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); }
Lesezeichen