Rikta behandlingen av LCD med generell IO (9 / 12 steg)
Steg 9: Firmware - översikt
Den kompletta källkoden kan hittas i den Här GitHub databasen.
För att starta, kommer vår firmware läsa LCD-skärmen och sedan skriva ut dessa uppgifter till en annan LCD-skärm för jämförelse. Det enda problemet med detta är att vi vill använda LCD-skärmen är seriell driven, och våra serieport överföra pin används för att läsa en LCD stift. Detta är inte en stor sak, det betyder bara data från det klämmer fast vilja bli otillgänglig.
Koden för att göra detta är main-v1.0.c fil i reporäntan. Denna kod är skrivet i C. Det använder inte någon Arudino bibliotek för det inte är hur jag roll. Dessa är de grundläggande byggstenarna i vår firmware...
På stöveln, konfigurera AVR enhet
- Ange IO pinnar
- Vända bort oanvända moduler (för att spara ström)
- Använd Timer 0 för att simulera COM linjer 2, 3 & 4
- Använd Analog jämförelseperson att upptäcka Com linje 1
- Använda USART0 för att skriva till en lokal LCD-skärm
I Main för alltid slinga
- Läsa LCD-skärm
- Skriva ut skala LCD skärmen data till lokala LCD-skärm
Avbryta tjänsten rutiner
- Timer 0 - Sync med COM 1, används för att simulera andra COM linjer åtgärder varje 4ms
- Analoga komparator - utlösas när COM 1 går HI, vänder på Timer 0
Andra funktioner vi behöver
- Läs LCD - inleda en läsning av LCD-skärmen... troligen aktiverar den Analog motsvarigheten och vänta
- LCD utskrift - överföra en byte, string, etc till lokal LCD-skärmen