Stap 2: Blinkenlights voor een signaal
Deze twee schakelopties gebruiken we voor het knipperen van een LED een programmeerbare aantal keren. De LEDs die zullen we gebruiken zullen de blinkenlights die de echte Elliot beroemd gemaakt. Switches 1 en 2 zal worden behandeld als twee binaire cijfers, zodat de combinatie de getallen 0, 1, 2 en 3 vertegenwoordigen kan. Ons programma leest de twee schakelaars en knipperen de LED het juiste aantal keren, maar alleen als de switch instellingen hebt gewijzigd. De schakelaars zijn debounced voor 500 milliseconden (niet geoptimaliseerd). Het algoritme ontdendering is vrij eenvoudig. De schakelaars worden gelezen en de lezing wordt opgemerkt. Indien zij afwijkt van de waarde van de oldBut (de laatste opgeslagen waarde), vervolgens het programma wordt vertraagd voor 500 milliseconden en de schakelaars worden opnieuw gelezen. Als de waarde hetzelfde als eerder gelezen is, de waarde van oldBut wordt bijgewerkt en de LED knippert het aantal keren geïmpliceerd door de binaire waarde van de twee schakelaars. Opmerking de inversie van de waarde, aangezien een switch die is "on" LO leest. De switches zal continu worden gescand voor verdere wijzigingen.Raadpleeg eerdere Instructables door de echte Elliot voor meer informatie over blinkenlights. Neem een kijkje op deze http://www.ganssle.com/debouncing.pdf voor meer informatie over schakelopties debouncing.
Hier is de ATtiny2313 code voor dit voorbeeld. In werking, dit programma knippert de LED op PB4 (fysieke pin 8) tweemaal om het te tonen wordt geïnitialiseerd. Het zal dan lezen één en twee schakelt, en één tot drie keer knipperen afhankelijk van de schakelaar instellen wanneer ze zijn gewijzigd. Wanneer de schakelopties niet veranderen zijn, zal de LED langzaam knipperen.
Voor het uitvoeren van deze code, maak een nieuwe map (noem het "Basic" als je wilt) en het downloaden van de volgende C codebestand en makefile erin. Noem Makefile1.txt aan enkel Makefile. Met behulp van WinAVR, het programma compileren en laden in uw ATtiny2313.