Stap 2: initialisatie
We nemen eerst de nodige bibliotheken voor de schets. Naast de standaard SPI en SD-Bibliotheken, die nodig zijn om te praten met het schild, ook ik de MP3 Player-bibliotheek. Voelde mijn openbare bibliotheek toe te voegen, maar liep uit de ruimte op de Arduino.
Praat over ruimte... Ook is pgmspace.h opgenomen zodat de opslag van de grote opdracht verplaatsen tekenreeksen in programma ruimte vrijmaken heap-geheugen voor uitvoering.
MemoryFree uitmaakt voor foutopsporing.
Het volgende blok van #defines zijn u aliassen voor de opdracht-tokens. Als gecompileerd, wordt elke opdracht wordt vertegenwoordigd door een verschillende numerieke token. Met behulp van de definieert, het programma is gemakkelijker te lezen. Een andere één van mijn filosofieën.
Vervolgens alle pinnen van de Arduino gebruikt door het programma worden gedefinieerd (ik opgemerkt tijdens het schrijven van dit, dat soundpin heeft sloop naar de top, misplaatst! Ondeugende soundpin!)
De opdracht statische verplaatsen worden hierna gedefinieerd met een opnemen. Ik zal bespreken in meer detail volgende stap.
Vervolgens de kern arrays... de crème de la crème... het hart en kon voor de sketch, vervolgens zijn gedefinieerd. Deze vier arrays, ScriptAction, ScriptDescription, ScriptOption en ScriptStack, worden gebruikt om te bevatten het tokenized programma. Ze bevatten de actie, het object, de timing en de teller van het script voor elke stap. Er is een ander definiëren hier, gelijkstelling van EndMain naar ScriptSize. De waarde wordt gebruikt in twee afzonderlijke plaatsen met verschillende bedoeling - dus deze definiëren de naam worden gehouden die de functie de waarde wordt gebruikt laat voor.
Opmerking: als u de codevoorbeelden, klik met de rechtermuisknop op de afbeelding en open ze in een ander tabblad. U kunt hen naar een groter formaat te zien de werkelijke code zoemen! Probeer het!
Ik heb een tekst bestand kopie van het programma, ook bevestigd met aantekeningen identificeren de secties waarin de code wordt verwezen. Gebruik het als een begeleidend document.