Étape 3: Conception de logiciels
Le fait qu’il y a huit anodes dans le SSD et huit bits dans un octet était trop évident d’ignorer, alors la totalité de la création est informé par cette association. À l’aide d’une interruption devait permettre l’Arduino pour faire quelque chose d’autre entre les actualisations SSD. Cela signifie que toutes les décisions de sélection broche se produisent en fonction Interrupt Service Routine de la minuterie. Rapports de recherche internationale doivent être le plus efficace possible afin de prendre un minimum de temps à s’exécuter. Si la durée d’exécution de rapport de recherche internationale n’est pas sensiblement plus courte que la durée de la minuterie, peu de progrès seront l’exécution des instructions dans la fonction loop(). Vous pourrez voir commentaires sous la fonction ISR d’éviter les fastidieuses saute (par exemple les déclarations de « if ») dans la mesure du possible. Se rendre compte que qu’un SSD est desservie pendant chaque interruption et il est actif dès la fin de l’ISR jusqu'à la prochaine tique de minuterie.
Partie de la conception de matériel a été effectuée avec la programmation à l’esprit. Par exemple, il n’y a aucune raison de matériel à choisir une ligne select en faveur de l’autre pour se connecter à cathode commune un particulier SSD. Cependant, c’est une simplification, que les quatre premières lignes select, les cathodes communes de SSD et les trois premiers segments ont des relations positionnelle interdépendants.
L’ISR qui en résulte est petit et assez rapidement sans avoir recours à l’utilisation des registres de port. La programmation aurait été beaucoup plus compliquée et inefficace, si elle devait abriter une conception de câblage arbitraire. Donc lorsque vous pensez à vos projets, faites attention à la symbiose entre matériel et logiciel et chercher des compromis appropriés.
Charlieplexing est une grande technique d’avoir dans votre sac à malices.