Stap 6: Sluit de LEDs en synchroniseer ze met afspelen en record tempo
De tempo-LED is aangesloten op P3 en LED0. Bij het samenstellen van dingen kunt u dit een manier die u wilt, zolang het geen schade van de mcu toebrengen zal en het is zinvol voor u regelen. Ik plaatste het tempo LED helemaal naar rechts. Het is zinvol voor mij gedeeltelijk omdat er het verst naar rechts. In de latere foto's zult u zien dat ik de andere LEDs naast elkaar om voor mij te vertellen hun functies naast elkaar geplaatst. Ik kon heb gebruikt verschillende gekleurde LEDs als ik wil om ze te plaatsen op het solderless breadboard. Dat kan bezuinigen op verwarring over welke functie elke LED heeft. Als ik ooit het opbouwen van een permanente Luna Mod Looper ik verschillende gekleurde LEDs gebruikt als het zinvol is om dit te doen.
Zoals ik al eerder zei, was dit een van de lastigste onderdeel van het project te krijgen goed functioneert. Toen ik schreef de code en in de BS2 geladen het soort werkte, maar niet precies de manier waarop ik wilde het. Probleemoplossing betrokken invoegen DEBUG verklaringen waar er geen vóór waren.
Als uw code gewoon niet lijken zal te werken voor nieuwe kleine wijzigingen die u aanbrengt, vereist soms het een nieuwe aanpak of een iets andere verandering. Aan het licht van het tempo LED die ik moest nemen één of meer Boole-expressies en schrijf het in een nieuwe ELSEIF statement. Het werkte, maar ik weet niet waarom het niet zou werken de eerste manier ik het deed.
Eens had ik het tempo LED werken, de manier waarop ik wilde ik schoof op naar het laatste onderdeel van het project - krijgen de record LEDs werken. Dit vereiste plaatsing van code in een subroutine die ik had niet de bedoeling. Ik had niet beschouwd als eerder en ik dacht dat deze code zou in de hand liggende plaats van de Light_Leds-subroutine worden geplaatst. Het zou zijn geweest, maar het waarschijnlijk zou hebben vereist een andere variabele of twee. Ik wilde niet meer variabelen op dit punt zoals met de definitieve versie er zijn slechts 4 bits links (of een Nib of halve een Byte of 1/4 van een woord) toevoegen.
Dus, ik plaatste de code in de subroutine Record. Dit werkte bijna perfect totdat ik liep het nieuwe programma en vond een LED bleef als onbedoelde. Dit betekent dat een stukje code in de subroutine Play dat ervoor zou brengen beide record LEDs werden uitgeschakeld.
Belangrijke TIP: Op elk moment dat u besluit, kunt u DEBUG verklaringen in enig deel van het programma. Dit kan helpen om ervoor te zorgen dat eerder geschreven delen van de code correct werken. Dergelijke verklaringen kunnen ook bruikbaar om te bepalen hoe andere delen van code zijn van invloed op de nieuwe code en vice versa. Belangrijke TIP binnen de belangrijke TIP: U kunt eindigen met een heleboel DEBUG verklaringen in verschillende delen van de code. Zorg ervoor om er zeker van te zijn dat DEBUG verklaringen hebben woorden in hen die u toestaan om direct vertellen van welk deel van het programma dat zij worden uitgevoerd. Ook de opmerking die u altijd kunt gebruiken # onderbreken (voorbeeld: 1000 onderbreken onderbreken van het programma voor 1000 milliseconden) om het programma vertragen zodat kunt u een fatsoenlijk kijken naar de informatie hebben.