Étape 5: Optimisation de Code
Ma première version a utilisé l’API Arduino et je recevais environ 150Hz pour
sinus avec 120 marches - finale d’optimisation est allé jusqu'à 5, 6KHz. J’ai utilisé des interruptions pour gérer l’entrée des boutons, registre accès direct, supprimé tous les appels de méthode inutiles, réduit la taille d’une variables - comme de 16 à 8bits et finalement échangé points flottants avec des entiers.
Il n’y a toujours un compromis - lisibilité du code avait diminué, direct accès aux registres est aussi difficile, car ils peuvent être utilisés pour les différentes propositions. Arduino API prend en charge tous ces problèmes, mais il faut quelques cycles CPU supplémentaires.