Les programmes peuvent parfois contenir des erreurs d'exécution. Celles-ci sont parfois difficiles à trouver et peuvent facilement être manquées. Existe-t-il un moyen de tester le programme avant de le graver réellement sur la carte?
Les programmes peuvent parfois contenir des erreurs d'exécution. Celles-ci sont parfois difficiles à trouver et peuvent facilement être manquées. Existe-t-il un moyen de tester le programme avant de le graver réellement sur la carte?
Réponses:
Il existe quelques projets Arduino Simulator.
Peut-être l' un des plus matures est le simulateur Virtronics pour Arduino , vidéo YouTube ici .
La page Virtronics liée ci-dessus répertorie également quelques autres simulateurs Arduino, à la fois gratuits et payants.
Étant donné l'intérêt suscité par l'Arduino, il y aura probablement beaucoup plus de simulateurs de ce type, donc inutile de les énumérer tous dans une réponse ici.
Il convient de noter qu'il existe également une application iPhone Arduino Simulator : ce n'est pas une recommandation, ne l'ayant pas encore vue en fonctionnement.
A côté:
L'Arduino est en soi une carte de prototypage / expérimentation. Il est idéal pour programmer du code expérimental, le déboguer, modifier puis re-flasher du nouveau code, à peu près autant de fois qu'on le souhaite . Si le code se bloque, réinitialisez et reflasher avec les modifications.
Par conséquent, le mérite d'utiliser un simulateur, qui ne peut jamais parfaitement imiter les différents temps réels ou d'autres problèmes auxquels une application peut être confrontée, est discutable.
Si le coût de l'Arduino est le problème, il y a quelques options ouvertes:
Vous pouvez trouver des erreurs d'exécution si vous pouvez parcourir manuellement votre programme avec l'Arduino connecté et déboguer ( après avoir téléchargé le code sur l'Arduino). Ceci est disponible dans Visual Micro bien qu'il nécessite Visual Studio. Vous pouvez définir des points d'arrêt, évaluer des variables et modifier les valeurs des variables. Vous pouvez également obtenir une visualisation de la mémoire au fil du temps:
Une façon de le faire serait de créer un programme wrapper pour le code réel qui simule toutes les entrées et accepte les sorties (créant ainsi une boucle de rétroaction) selon l'environnement réel. Cela nécessiterait des efforts variables selon le type de programme, le degré de test et le nombre d'entrées.
Gardez à l'esprit que lors de l'écriture du programme wrapper, vous devez suivre une approche de boîte noire .
Sinon, votre code externe peut ne pas tester le programme aussi bien que possible, car garder à l'esprit le code réel lors de la création du code de test peut vous inciter à ignorer les cas limites ou les zones problématiques (cela a été observé lors des tests en boîte blanche qui est l'alternative).