AVR Assembler handledning 6 (3 / 3 steg)
Steg 3: slutsats
Jag har bifogat den fullständiga koden för din referens. Det är inte lika rent och snyggt som jag vill, men jag kommer att rensa upp när vi expanderar det i framtida tutorials.
Från nu på kommer jag bara bifoga filer som innehåller kod istället skriva ut allt här. Vi ska bara skriva ut avsnitten att vi är intresserade av att diskutera.
Detta var en kort handledning där vi kom upp med en enkel metod att tala om våra analyzer microcontroller vad resultatet av våra tärningskast från vår dice-roller microcontroller när du bara använder två portar.
Övning 2: istället för att använda en klar signal att visa när dice rullen är redo att överföra och en annan när analysatorn är redo att ta emot, använda ett "yttre avbrott" kallas en "Pin Change avbryta". Stiften på atmega328p du kan använda detta sätt varför de har PCINT0 trodde PCINT23 bredvid dem i pinut diagrammet. Du kan implementera detta som ett avbrott på ett liknande sätt som vi gjorde med timer overflow avbrottet. I detta fall blir avbrottet "handler" den subrutin som kommunicerar med dice rullen. Detta sätt inte behöver du faktiskt ringa kommunikation subrutinen från main: det kommer dit någon gång det finns ett avbrott kommer från en ändring av staten på det klämmer fast.
Övning 3: ett mycket bättre sätt att kommunicera och överför data mellan en mikrokontroller till en samling av andra med den inbyggda 2-tråds seriellt gränssnitt på mikrokontroller själv. Försök att läsa avsnitt 22 i databladet och se om du kan lista ut hur den skall uppnås.
Vi kommer att använda dessa mer sofistikerade tekniker i framtiden när vi lägga till ytterligare domänkontrollanter.
Det faktum att allt vi gjorde med vår analyzer är ta summan av tärningsslag och sedan skriva ut det ut i binär med hjälp av lysdioder är inte vad som är viktigt. Faktum är att nu våra analyzer "vet" vad tärningarna rulla och kan använda det följaktligen.
I nästa handledning kommer vi att ändra syftet med våra "analyzer", att införa några ytterligare kretselement, och med hjälp av tärningarna rulla på ett mer intressant sätt.
Tills nästa gång...