Aide optimisation de code c/c++ arduino

a marqué ce sujet comme résolu.

Bonjour ,

Voilas tout comme je l’ai fait il n’y a pas longtemps et cela ma bien aider, je cherche à avoir des conseils sur les bonnes manières astuces et autre.

Je me sert de ces petits projets pour apprendre et celui ci touche a sa fin. il fonctionne (manque seulement le buzzer mais le principal est la ) mais je suis sur que j’ai commis des maladresse peu êtres mal découper le code etc. etc.. et je m’en remet a votre jugements.

Quand je compile le code j’utilise actuellement 48% de mémoire vive après ma tentative d’optimisation puisque j’ai dimensionner les types de variable au plus juste.

Voici le lien github Banche optimisation

Ce que je voudrais savoir c’est:

  • le decoupage vous semble t’il logique/adéquat

    si non lequel aurais était plus judicieux ?

  • l’écriture ( bien que je suis amateur ) est il bien écris nommage variable/clarté

    si non comment faire pour m’améliorer ?

  • comment optimisé ? maladresse ?

merci

+0 -0

Salut,

Sans connaître le C++ ni d’Arduino, je vois déjà une belle maladresse :

if (digitalRead(swicth_pin))
    {
        state = false;
    }
    else
    {
        state = true;
    }
return state;

Ces quelques lignes sont normalement (aux détails du C++ que je ne connais pas près) équivalentes à :

return !digitalRead(swicth_pin);

En effet, ton if-else reproduit simplement la définition de l’opérateur logique "non" : si a est vrai, alors non(a) est faux et si a est faux alors non(a) est vrai.

Bonjour Capello ,

Que cherches-tu à optimiser ?

Ma façon de coder en etant toujours lissible je me pose des questions sur ma façon de faire

  • est elle propre , lissible, optimisé ( ne fait-je pas plusieurs fois le code pour la meme chose)

    La place en mémoire ? Les performances ?

  • Optimisé aussi dans le sens memoire, j’utilise actuellemnt 60% pour le code actuel j’ai mis le reste dans une autre memoire pour ce qui est des "sprites" En fait je cherche des conseils "tuteur" pour me forcer a adopter les bonnes manières c’est pourquoi je demande sur le forum que quelqu’un y jette un oeil

Pourquoi ? Ça ne fonctionne pas ? Ça réagit trop lentement ? Quels sont les timings qui te semblerait correct et pourquoi ?

  • ça fonctionne oui , Juste par curiosité voir ou on peu modifier, quelle astuces on peu employer pour etre plus rapide et plus efficaces En revanche je ne comprend pas le terme "Timings"

Je cherchai egalement a savoir quelle memoire il me restait quand le script tournais

Source:Capello

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte