Ich habe einige Projekte mit Arduino gemacht, aber nie mehr als eine "Hallo Welt" in C. Ich schreibe meine erste Bibliothek und viele objektorientierte Dinge gehen mir über den Kopf. Wie auch immer, meine Bibliothek funktioniert wie es soll, ich übergebe einen Float an meine Funktion und sie formatiert ihn richtig und sendet ihn über die Seriennummer. Ich habe es jedoch auf klobige Weise implementiert. Der Arduino API Style Guide erwähnt einen Weg, der viel besser zu sein scheint:
Erlauben Sie dem Benutzer bei Verwendung der seriellen Kommunikation, ein beliebiges Stream-Objekt anzugeben, anstatt "Seriell" fest zu codieren. Dadurch wird Ihre Bibliothek mit allen seriellen Schnittstellen von Mega und Due kompatibel und es können auch alternative Schnittstellen wie SoftwareSerial verwendet werden. Das Stream-Objekt kann an den Konstruktor Ihrer Bibliothek oder an eine Funktion begin () übergeben werden (als Referenz, nicht als Zeiger). Beispiele für jeden Ansatz finden Sie in Firmata 2.3 oder XBee 0.4.
Kann jemand näher darauf eingehen oder mir Code zeigen?