Stap 9: Firmware - overzicht
De complete broncode kan worden gevonden in Deze GitHub Repository.
Om te beginnen, zal onze firmware Lees het LCD-scherm en druk deze informatie aan een andere LCD-scherm voor vergelijking. Het enige probleem met dit is dat het LCD-scherm willen wij gebruiken seriële gedreven, en onze seriële poort zenden pin wordt gebruikt om te lezen een van de LCD-pinnen. Dit is geen big deal, het betekent alleen gegevens van die pin ontoegankelijk zal zijn.
De code om dit te doen is het belangrijkste-v1.0.c bestand in repo. Deze code is geschreven in C. Het maakt geen gebruik van een Arudino-Bibliotheken, want dat is niet hoe ik rol. Dit zijn de bouwstenen van onze firmware...
Op de Boot, AVR-apparaat configureren
- Set IO Pins
- Turn Off ongebruikte Modules (voor het besparen van energie)
- Gebruik de Timer 0 te simuleren COM lijnen 2, 3 & 4
- Analoge Comparator kunt detecteren Com lijn 1
- Gebruik USART0 om te schrijven naar een lokale LCD-scherm
In de Main Forever lus
- Lezen LCD-scherm
- Schaal LCD scherm afdrukgegevens naar lokale LCD scherm
Onderbreken van de Service Routines
- Timer 0 - Sync met COM 1, gebruikt om te simuleren de andere COM lijnen acties elke 4ms
- Analoge Comparator - geactiveerd wanneer COM 1 HI gaat, draait op Timer 0
Andere functies We zullen behoefte
- Lezen van de LCD - starten van een lezing van het LCD-scherm... waarschijnlijk de Analoge Comparator inschakelen en wacht
- LCD afdrukken - overbrengen van een byte, string, enz om het lokale LCD-scherm