Etape 11 : Firmware - principal-v2.0
La deuxième version du firmware est presque identique à la première ; Cependant, j’ai enlevé toutes les fonctionnalités d’impression de l’écran LCD. Il ne sont aucuns plus des fonctions LCD_write() , ni USART0 n’est utilisé. L’autre différence majeure est l’ajout de la fonction updateLevel() . Cette routine simple emballe le poids affiché par la balance dans deux octets de données. Ces octets sont transmises par le bus de TWI pour une autre puce, mais cela fait partie d’un autre projet, c’est pourquoi je n’ai pas inclus ce code ici. Vous devriez également noter que, au début de la principale, le code oblige l’échelle en mode poids en grammes. Ceci est fait afin que les données transmises de cette échelle à l’internet sont toujours cohérentes.
Maintenant, la boucle principale lit l’écran lcd et crée les deux octets de données à l’échelle avant de différer pendant 1 seconde., rien de plus, rien de moins. Tout le dur labeur est gérée par les routines de service d’interruption pour le comparateur analogique et le timer 0.