7
votes

Arduino coincé dans une boucle infinie

Mon arduino est bloqué dans une boucle infinie en essayant de lire à partir d'une broche et d'imprimer sur la console série. Je ne peux pas télécharger d'autres programmes maintenant. Que puis-je faire pour sortir la puce de la boucle?


5 commentaires

Avez-vous essayé de réinitialiser l'appareil?


@Jonathan, j'ai essayé de pousser le bouton de réinitialisation lorsque je clique sur le bouton "Télécharger" dans l'IDE Arduino, cependant, elle ne télécharge toujours pas.


Je vous conseillerais d'essayer également electronics.stackexchange.com (aucun drapeau causer encore en version bêta)


Avez-vous essayé physiquement réinitialiser l'appareil? Comme dans, éteignez-le et encore par une utilisation judicieuse de le débrancher du mur ?


@Jonathan, j'ai essayé à plusieurs reprises. Il est alimenté par USB et je l'ai débranché et je l'ai reconnecté plusieurs fois maintenant.


7 Réponses :


0
votes

Cela peut paraître idiot, mais qu'en est-il de le déconnecter de l'alimentation pour réinitialiser le MCU?

EDIT:

Je vois qu'il est alimenté par USB; Assurez-vous ensuite de déconnecter le périphérique, de la suppression / décharge de toutes les batteries / condensateurs. Si rien ne fonctionne, fermez l'IDE Arduino, changez le port USB que vous utilisez (parfois cela se produit qu'ils obtiennent coincé ..), redémarrez le PC .. bonne chance!


0 commentaires

9
votes

Retirez la connexion USB, fermez l'EDI, ouvrez l'IDE, Open Bareminimum, enfoncez le bouton de réinitialisation, plug-in la connexion USB, cliquez sur le bouton de téléchargement 1/2 une seconde après avoir retiré votre doigt du bouton de réinitialisation.


3 commentaires

Merci à vous mon arduino a augmenté des morts!


Ouais, timing c'est une chienne mais c'est mieux que de le remplacer.


Cela a travaillé sur mon ONU - Je n'avais pas besoin de gérer la mise à niveau du firmware. À l'avenir, je vais ajouter un retard (1000); à mon code de configuration.



9
votes

Si vous utilisez un Arduino Uno, vous voudrez peut-être consulter Mise à jour de l'ATMEGA8U2 sur un ONU ou MEGA2560 utilisant le DFU . Apparemment, il y avait un bogue dans le micrologiciel de l'interface.


0 commentaires

1
votes

Reprogrammer le micrologiciel de l'interface (voir la réponse de Viennamike) n'a pas fonctionné pour moi, alors j'ai acheté un autre Arduino et l'a transformé en programmeur ISP et a écrasé l'application incriminée:

https://stackoverflow.com/a/8453576/1090713

Bien que cette approche ait eu des coûts, j'ai maintenant un autre outil et un moyen de sauver un Arduino à l'avenir.


0 commentaires

0
votes

Téléchargez votre chargeur de démarrage à l'aide d'un programmateur de poche AVR. Cela résout votre réinitialisation MCU. Utilisez des instructions de la minuterie de surveillance lorsque vous codez une boucle infinie à condition que vous traitez du paramètre critique à écrire lorsqu'il redémarre.


0 commentaires

0
votes

Si vous rencontrez le même problème avec Arduino Yun, essayez de télécharger un croquis vide à l'aide de WiFi en tant que port. Cela a fonctionné pour moi quand je ne pouvais pas télécharger de nouveaux croquis via USB.


0 commentaires

0
votes

L'Arduino attendra un court instant lorsque vous essayez de télécharger. Vous pouvez donc appuyer sur la réinitialisation et maintenez-la enfoncée jusqu'à ce que l'IDE évoque la tentative de téléchargement. puis lâchez-le.

Le problème peut être que lorsque vous cliquez sur Télécharger, les premiers compiles IDE puis à la fin des tentatives de processus de téléchargement. Ainsi, appuyez sur Réinitialiser, cliquer sur Compiler et laisser immédiatement la réinitialisation ne fonctionne pas toujours car vous lâchez la réinitialisation trop rapidement.


0 commentaires