Étape 2: Rendre code plus court la solution de facilité...
Nous allons commencer avec un simple croquis qui vérifie l’état de l’un des 4 boutons et lie cette valeur à l’une des 4 LEDs. Appuyez sur des boutons, les voyants DEL situés correspondants s’allume.
J’ai inclus pin-cartographie pour les 5 différents tableaux ci-contre, le chipKIT Max32, DP32, Uno32, Uc32 et CMOD planches et l’Arduino UNO :
Maintenant, quand j’ai commencé à écrire de code, c’était toujours le plus long code que je pouvais penser parce que je ne savais rien de mieux. J’imagine que c’aurait été quelque chose comme ceci :
(Vous pouvez utiliser cela avec quelques modifications apportées à l’affectation des broches. Copiez et commentaire/décommenter si nécessaire. Ces broches ont été choisis parce qu’il le rendra plus facile à manipuler les registres ultérieurement. Plus de code seront ajoutés par la suite pour chacune de ces cartes.)
Haut en bas, cette esquisse est 73 lignes (sans compter les commentaires), et à l’aide de MPIDE nécessitera 6664 octets de mémoire de la chipKIT Uno32 et 1402 octets pour l’Arduino UNO.
Maintenant, regardons une version modifiée, cette fois en utilisant certaines boucles de() pourfaire les choses répétitives et certains imbriqué digitalRead() et digitalWrite() commandes pour assigner des États de broche.
Cette esquisse est sensiblement plus courte. En fait, c’est moins d’un tiers à 20 lignes sans commentaires. Il prend un peu moins d’espace dans la mémoire (6324 octets pour chipKIT, 1074 octets pour Arduino), mais le seul véritable avantage est que le sketch prend moins de lignes. Les instructions en mémoire sont à peu près les mêmes. Le compilateur doit toujours Rechercher et charger le pinMode(), digitalRead() et digitalWrite() commandes dans les fichiers de bibliothèque de fond. Ceux-ci sont prédéfinis dans la taille, donc si vous les utilisez encore une fois les instructions de montage converties doivent être chargées dans la mémoire de la puce.
Donc, même si nous raccourcir le code, il est clair qu’il ne peut pas sauver beaucoup d’espace sur la puce. Nous allons corriger cela.