Arduino Spielplatz - Bibliothek Tutorial
So möchten Sie eine Bibliothek für die Arduino schreiben?
-Groß !
Hier ist ein kleines Tutorial, wie man zu schreiben.
Wir werden dies machen:

Navigation
Was ist eine Bibliothek?
Eine Bibliothek ist eine Sammlung von Anweisungen, die eine bestimmte Aufgabe ausführen sollen.
Gute Bibliotheken beschreiben die Aufgaben, die es versucht, durch den Namen der Bibliothek selbst, und die Namen der Funktionen der Bibliothek zugeordnet zu lösen.
Dies liegt daran, die Bibliothek intuitiv sein sollte zu verwenden, und alle Namen sollten auf effiziente Art und Weise beschreiben, alle Fragen in Bezug auf was. wann. und wo. sondern die, wie verbergen.
Auf dem Arduino dienen die Bibliotheken oft als Wrapper um die Sprache Arduino-API-Code Lesbarkeit und Benutzerfreundlichkeit zu verbessern.
Arduino IDE legt es Bibliotheken in \ Hardware \ Bibliotheken Die Bibliothek für dieses Tutorial die URL C hat: \ Programmierung \ arduino-0015 \ Hardware \ Bibliotheken LED13 auf meinem Windows-XP-Rechner \.
Was ist die Arduino Konventionen?
Die Arduino-Bibliotheken verwendet eine UppercaseUppercase Konvention für Bibliotheksnamen und lowercaseUppercase Konvention für die Funktionen zu benennen.
Was dies bedeutet, ist, dass unsere Bibliothek / sollte den Namen LED13 bekommen (nicht zum Beispiel LED13) und die Funktionen auf benannt werden () und aus ().
Ich hätte TurnOn () und Abschalt () ausgewählt. aber ich habe die kürzeste ausgewählt, weil es als beschreibendes, aber zusätzlich ist es kürzer. [Kurzcode == weniger Wahrscheinlichkeit für Fehler]
Es ist wichtig, sich daran zu erinnern, dass Sie nicht über eine Bibliothek benötigen. Es macht es nur einfacher.
Wenn Sie Interesse an der inneren Mechanik einer bestimmten Bibliothek sind, werden Sie die MyLibrary CPP finden (wenn heruntergeladen) in / Hardware / Bibliotheken / MyLibrary / MyLibrary CPP Änderung MyLibrary, was auch immer den Namen der Bibliothek, die Sie wollen untersuchen,
Warum haben wir Bibliotheken?
Wie schreiben wir Bibliotheken?
Definieren Sie die Funktionalität Ihrer Bibliothek zur Verfügung zu stellen
Dies sollte die Voraussetzung für unsere Bibliothek sein.
An dieser Stelle ist es uns egal, wie die on () funktionieren sollte, sollte nur, dass sie existieren.
Machen Sie einen Proof of Concept Skizze
Bevor Sie eine neue Klasse der Umsetzung in der Regel finde ich es sehr nützlich, um die Idee in einer Skizze zu testen. Probieren Sie ein paar verschiedene Implementierungen, was verwendet die geringste Menge an Raum, und das, was im Einsatz scheint einfachsten. Wählen Sie die Lösung, die diese beiden in geeigneter Weise kompromittiert.
Eine Erfahrung, die ich gemacht habe, ist, dass wenn man etwas etwas ähnlich aus arbeiten, das oft von Vorteil ist.
Für unsere Bibliothek, denkt man sofort von der rechten Seite Blink? Die Hallo Welt! von μCs. So gehen Sie vor und starten Sie die Arduino IDE und öffnen Sie die File-> Sketchbook-> Examples-> digital-> Blink.
Das erste, was wir tun, ist, den Code in Schleife () zu schneiden und es in eine neue Funktion namens Leere Blink einfügen ().
Ich vermute, dass dies nicht überraschend ist, ist, dass wir diesen Code kennen blinken verbunden, um die LED 13 zu fixieren.
Nun schreiben blink (); innerhalb der Schleife, so dass der Code, der einmal in der Schleife war () und jetzt innerhalb blinken befindet, wird ausgeführt (weil Schleife blinkt Anrufe).
Nun sollten Sie eine Skizze haben wie folgt aussehen:
int ledPin = 13; // LED-Digital-Pin 13 verbunden,
Leere Setup # 40; # 41; // laufen einmal, wenn die Skizze beginnt
LED13 Quelle
Sie werden sehen, dass diese Quelle wie die Konzeptskizze sehr viel sein.
Aber ich habe einige Datentypen geändert, und der Rest ist nur die c ++ Syntax.
Beachten Sie die. es wird der ‚Bereichsauflösungsoperator‘ genannt
//<
LED13. LED13 # 40; # 41; # 123;
pinMode # 40; LED_PIN. AUSGABE # 41; ; // ein OUTPUT machen, daß der Stift
Auswählen von öffentlichen, geschützten oder privaten
Auswählen von Datentypen / returntypes
die Arduino begrenzte Ressourcen haben werden denke ich, die ‚kleinsten‘ Variable Auswahl der Weg zu gehen. Ein Arduino Pin wird (wahrscheinlich) nie ein Byte mit ausreichend ist, und bevorzugt in diesem Fall über 255. So wird.
Auswählen variabel- / functionnames
Die Arduino-API hat einige Hinweise etabliert, wie eine Variable oder Funktion zu nennen. Starten Sie Kleinbuchstaben, und zeigen neue Wörter mit einem Großbuchstaben. 'MyDescriptiveVariable'
Schreiben Beispiele
Achten Sie darauf, Beispiele zu erstellen, die als Selbst wie möglich zu beschreiben sind. Außerdem sollte es eine Anstrengung zur Demo die meisten Funktionen vorgenommen werden.
Blink Beispiel
Denken Sie daran, diese Datei zu implementieren, da es viel einfacher, mit Ihrer Bibliothek macht. Unsere Bibliothek hat vier Namen, die Bedürfnisse hervorheben.
Diese sind:
Und sie sind in keywords.txt umgesetzt als:
Denken Sie daran, # include
Sie werden eine Reihe von Fehlern, wenn Sie die Arduino enthalten haben vergessen, und versuchen, einige der Arduino-Funktionen oder Datentypen zu verwenden.
Es ist nur notwendig, um die Arduino.h in Ihnen Bibliothek .h enthalten, CPP wird es gehören, weil es den Header enthält.
Löschen Objektdatei und neu kompilieren zwischen jeder Änderung der Kopf- und / oder Quelle
Wenn Änderungen in der Kopfzeile oder die Quelle vorgenommen werden, werden diese Änderungen nicht automatisch in der Objektdatei von Ihnen Bibliothek integriert. Um sicher zu gehen, dass Ihre Änderungen werden kompilieren und verwendet, löschen Sie die LED13 .o und neu kompiliert eine Skizze in den Arduino-IDE.
Lernen Sie die Arduino IDE-Debugger / Compiler zu interpretieren.
Es kann eine Zeit sparen absichtlich eine Stunde und verursacht Fehler zu nehmen, so dass Sie wissen, was die Fehlermeldungen, die für den späteren Gebrauch auf verursacht werden.
Gemeinsame Nutzung Ihrer Bibliothek mit anderen Menschen
Einer der schnellsten Wege, um Fehler zu spülen, in einer Bibliothek ist, andere Menschen die Bibliothek benutzen zu lassen. Oft nur Leute keine Fehler finden, sondern auch Patches beitragen, um diese Fehler zu beheben.
Informationen zu dieser Seite
Ein Teil der Alpha Tutorials und Ressourcen.