J'ai téléchargé un sketch sur un Arduino Uno dont la boucle ressemble à ceci:
void loop(){
Serial.println("Hello World");
}
Donc, maintenant, je ne peux plus rien télécharger, car le IDE dit "port déjà utilisé".
Est-il possible de "réinitialiser" l'Arduino sans un autre programmeur?
MODIFIER :
Rien d’autre n’utilise le port série et tout s’est bien passé jusqu’à ce que j’ai chargé le croquis précédent.
MODIFIER :
J'ai trouvé des choses intéressantes:
Essayez ce qui suit:
Il y a un délai avant que le chargeur de démarrage démarre les programmes, travaillez simplement sur votre minutage. Cela fonctionnait pour moi lorsqu'un bogue dans le code de mon Arduino exécutait une réinitialisation logicielle toutes les 500 ms.
J'ai eu le même problème sur deux Arduinos (un Uno et une carte hôte Modern Device Freeduino/USB) et la fenêtre entre la réinitialisation et le début de l'utilisation du port série était si petite qu'il était impossible de la télécharger.
J'ai finalement résolu le problème en achetant un autre Arduino Uno et en construisant un câble ISP selon ces instructions , et en l'utilisant pour faire clignoter l'application Bare Bones des exemples dans chaque carte inaccessible, à l'aide de Arduino IDE version 0023, en suivant ces instructions pour modifier preferences.txt. (Assurez-vous de sauvegarder le fichier d'origine avant de le modifier afin de pouvoir le remplacer après avoir sauvé votre Arduino.)
Il a fallu un téléchargement rapide pour réparer chaque tableau. Une telle solution rapide après tant de chagrin. Vous ne voudrez peut-être pas acheter un autre Arduino, mais considérez les avantages suivants:
Assurez-vous de connecter Arduino directement à l'ordinateur et non via un hub L'utilisation d'un hub vous donnera cette erreur.
Après avoir scruté à fond ce problème, voici une solution très simple qui fonctionne à tout moment:
// Emtpy Sketch to fix upload problem
// Create by Eric Phenix
// Nov 2014
void setup()
{
}
// the loop routine runs over and over again forever:
void loop()
{
delay(1000);
}
Et voila! Eric
D'après mon expérience avec la communication déjà utilisée ou bloquée, je dirais que le programme avec lequel vous vous connectez a toujours la communication ouverte. J'ai également constaté que si vous débranchez le câble USB, la communication sera interrompue. Ce n'est pas la meilleure solution mais cela résout le problème. J'espère que ça aide.
Je viens de passer les 5 dernières heures à chercher une solution à ce problème (port série COM3 déjà utilisé, port série grisé) ... J'ai tout essayé sur tous les forums suggérés, y compris celui-ci ..
Qu'est-ce qui a finalement été corrigé (débarrassé du dernier code saisi et bloqué et chargé de la fonction de clignotement simple)? Suivez ce lien - http://arduino.cc/en/guide/windows et suivez les instructions pour INSTALLER LES PILOTES. Mon chauffeur était "déjà à jour", mais ces étapes ont été corrigées. Je suis maintenant un campeur heureux une fois de plus.
Remarque: Réinitialisation manuelle du tableau avec le bouton de la puce ou numériquement via misc. Les codes sur Internet ne fonctionnaient pas pour résoudre ce problème car le signal était bloqué/confus entre mon arduino uno et le port de mon ordinateur portable. La mise à jour des pilotes est comme une réinitialisation pour le problème "port série déjà utilisé".
Au moins jusqu'à présent ..
J'ai un problème similaire.
Si je mets sous tension myarduino, il y a un délai avant l'exécution du programme téléchargé.
Donc, j'utilise ce délai pour télécharger un nouveau programme ou un programme vide:
void setup(){}
void loop(){}
donc mon problème résolu.
Débranchez toute connexion aux broches Arduino avant le téléchargement.
Si la console série est toujours ouverte, le port série sera réservé. Fermez-le et réessayez.
Si le port dit Déjà utilisé, alors vous utilisez probablement le mauvais port . Changez-le sur le port où vous avez connecté votre arduino et Puis essayez de le télécharger à nouveau, vous verrez que cela fonctionnera.
J'ai eu le même problème aujourd'hui. Voici une solution simple que nous avons trouvée pour résoudre ce problème (grâce à Anghiara):
Au lieu de charger vos nouveaux codes dans l'arduino à l'aide du "bouton d'importation" (le cercle avec la flèche verte) à l'écran, utilisez votre souris pour cliquer sur "Esquisse" puis sur "Télécharger".
N'oubliez pas d'ajouter une ligne delay () à vos codes lorsque vous utilisez serial.println () et des boucles. J'ai appris ma leçon de la manière forte.
Arduino Leonardo Board
Cela fonctionne pour moi, je l’espère aussi.
J'ai eu ce problème aussi, j'ai essayé les méthodes ci-dessus et aucune ne semblait fonctionner, cependant quelque chose a fonctionné (d'une manière ou d'une autre, je ne suis pas sûr que ce soit juste une chose anormale ou que ce soit réellement une façon de le faire)
Pour Arduino Yun utilisateurs, essayez de télécharger via Ethernet/WiFi (Outils-> Port) ..____ J'ai eu exactement le même problème, j’ai essayé à peu près tout (à part la gravure d’un nouveau chargeur de démarrage). Je suis surpris que cela fonctionne, mais j'ai téléchargé des croquis vides sans aucun problème.
Si rien ne vous aide, vous devez organiser une carte supplémentaire et essayer de la visualiser via Arduino en tant qu'option ISP comme indiqué ici https://www.arduino.cc/en/Tutorial/ArduinoISP ou https: // www .arduino.cc/fr/Tutorial/ArduinoToBreadboard . au lieu de chargeur de démarrage, vous pouvez sélectionner vos propres programmes pour flasher via ISP
Voici ce que j'ai fait sous Linux pour pouvoir programmer mon Arduino Micro bloqué dans une boucle qui envoie la clé 0 lorsqu'il est connecté par USB.
# while true; do xinput float $(xinput --list | grep -i Arduino | awk '{print $7}' | cut -d'=' -f 2); done
Votre sortie peut être légèrement différente alors essayez simplement de courir;
# watch xinput --list
branchez ensuite l’Arduino et voyez comment la sortie est formatée.
Cela empêchait X d’accepter les touches et permettait à l’Arduino IDE de programmer enfin!
Assurez-vous de ne pas accéder au port série depuis un terminal, cette boucle (ou tout code) ne devrait pas empêcher la programmation de l’Arduino.