Stap 6: De Code
Buiten de temperatuurcontrole beproefd mij voor andere functies zo eenvoudig mogelijk te houden.Tijdens de installatie van de hardware wordt geïnitialiseerd en de temperatuursensor wordt gelezen. De lezing wordt gebruikt voor het vullen van een circulaire matrix gebruikt voor het vloeiend maken. Een splash-scherm wordt weergegeven op het LCD-scherm en, na een vertraging, de huidige temperatuur en instelpunt worden weergegeven.
De hoofdlus periode is 100 ms.
In de hoofdlus, de seriële input gelezen. Als een byte aanwezig is, wordt deze verwerkt. Als het is niet een cijfer, CARRIAGE RETURN of REGELINVOER, wordt deze genegeerd. Als er een cijfer, wordt de waarde in een tijdelijke variabele en controle keerde terug naar de lus geaccumuleerd. Als er een CARRIAGE RETURN of REGELINVOER, worden de gecumuleerde cijfers behandeld als de nieuwe instelpunt. Merk op dat er geen schaak van de redelijkheid op het instelpunt bereik is. Neem sommige persoonlijke verantwoordelijkheid en aandacht besteden aan de getypte tekst. U moet niet zitten kundig voor schade van om het even wat door slechte nummers typen.
Hierna de omhoog/omlaag-switches worden doorzocht, en als ofwel wordt gedrukt, een interne lus wordt gebruikt om te vergroten of verkleinen van de set-punt voor zo lang als de schakelaar wordt ingedrukt. De eerste bijwerkingsfrequentie is 500 ms, maar na vijf iteraties, de bijwerkingsfrequentie is gehalveerd, verwerking versnellen.
De temperatuur wordt gelezen op elke vijftiende lus of 1,5 seconden. De macro-definitie
#define FAHRENHEIT_UNITSis de standaardselectie voor de eenheid. Voor de productie van displays van Celsius eenheden, commentaar die lijn door het toevoegen van dubbele voorwaartse slashes voor.
Temperatuur en instelpunt worden verzonden naar de seriële lijn als eenvoudige tekst, standaard wanneer hetzij verandert. Voor de productie van XML om te worden verzonden via de seriële poort, uncomment de macro-definitie
#define PRODUCE_XMLdoor het verwijderen van de dubbele schuine strepen. Als u niet wat XML is weet, het met rust laten.