Das Makro funktioniert bis zur Version 1.5.3 BETA der Arduno IDE von arduino.cc, mit der IDE 1.6.9 und 1.8.1 bekomme ich es nicht zum Laufen. Beim Übersetzen werden keine Fehler ausgeworfen.
Der C++ Code stammt von einem JAVA-Programmierer, ich habe nur das Problem dadurch!
Na das war eine sehr herzliche Begrüßung, dafür kann man sich nur Bedanken!
Der C++ Code stammt von einen Programmierer, der hauptberuflich halt mit JAVA unterwegs ist.
Die Falschannahme ist, ich hätte aus JAVA etwas kopiert und dann eingefügt.
Whandall, es würde sicherlich etwas produktiveres dabei herauskommen, wenn deine Aussagen den Umweg über das Gehirn genommen hätten, bevor man Diese hier kund tut.
Kostenloser Tipp am Rand!
Anscheinend benötige ich eine Funktion, die es schafft String in ein Byte Array zu wandeln oder?
Strings mögen in der JAVA-Welt ok sein, wo es auf ein paar MByte mehr nicht ankommt
Auf 8Bit MC mit dem geringen RAM sind sie Gift, da sie den Speicher fragmentieren.
Du solltest lernen, wie man in C/C++ Zeichenketten benutzt, ohne die Klasse String zu verwenden.
super! Darin werde ich mich mal vertiefen und deinen Aufruf zur Speicherverschwendungen durch den Kopf gehen lassen.
Danke für die sachliche Erklärung und den Link.
Whandall, danke auch. Ich wünsche dir auch viel Erfolg bei deinen aktuellen und kommenden Problemen.
Durchaus verständlich wenn da jemand kommt und einen so eine "Codesalat" vor die Füße legt.
Wenn ich für jede Beleidigung, die ich jemals in meinem Leben bekommen habe 50 Cent bekommen würde. Dann würde ich natürlich die Probleme nicht mehr selbst lösen müssen.
Whandall, ich entschuldige mich für die kränkende Aussage bei dir.
Dann hoffe ich du bist nicht nachtragen und nimmst meine Entschuldigung an.
Einspruch: Manchmal, insbesondere zu alten C-Zeiten und ohne dasinlineSchlüsselwort,
macht man schon mal sowas, das aussehen soll wie eine Funktion, aber schneller ausgeführt wird.
Aber das ist ja hier wohl nicht notwendig.
Auch dass der Datentyp von address hier variabler ist als bei einer echten Funktion, ist egal.
Deine Makro-Definition wird wohl immer noch gehen, wenn du die Methode c_str() explizit angibst.
Wenn man es sich antut und deinen Makro anschaut sieht man, dass das Ganze nur Sinn macht, wenn address ein Text mit (mindestens) 2 '/' drin ist.
Das zwischen den Schrägstrichen kann per toInt() in so kleine Zahlen gewandelt werden, dass die ersten beiden zusammengefasst, immer noch in ein Byte passen.
Keine Ahnung wofür das überhaupt gut sein soll, zumal die mittlere Zahl im Bereich 0 .. 7 bleiben sollte, und daher wohl kein Datum darstellen wird. Aber ...
Dafür String Objekte und deine Makro-Definition zu nehmen, ist jedenfalls völlig abartig finde ich.
Wer sowas findet und verwendet, ist selber schuld.
( Um mal wieder zurück auf die "persönlicher Angriff" - Ebene zu kommen )