Reset Software.

J'ai jamais testé mais si on raccorde le pin RST à un pin digital et qu'on le met à LOW ?

J'ai lu que Atmel, le déconseillait fortement car (si j'ai bien compris) la commande passée sur le pin n'avait pas le temps de se finir que l'Atmel rebootait (à confirmer par les pro).

Ton bout de code en lui même est valide, un sketch minimal contenant juste :

#include <avr/wdt.h>

void setup() {
  wdt_enable(WDTO_15MS);
  for(;;);
}

void loop() {

}

Passe sans problème, il doit y avoir une erreur de syntaxe ailleurs dans ton code source.

Hello,
Bon, au lieu de faire un copier/coller du code, j'ai écrit le code, et la plus d'erreur.
Je le charge dans la carte, et la aie, aie, aie.
La led 13 clignote à fond, mon programme ne me donne plus la main.
Je ne peux plus accéder à la carte pour recharger le programme original
Que puis faire
JP

Pour moi c'est normal : le watchdog est lancé toute les 15ms ... wdt_enable ne doit être lancé que lorsque tu le souhaites

Pac2Kro:
J'ai lu que Atmel, le déconseillait fortement car (si j'ai bien compris) la commande passée sur le pin n'avait pas le temps de se finir que l'Atmel rebootait (à confirmer par les pro).

Bah c'est pas le but nan ?

Hello,
Bon, OK, ça je comprends bien.
Mais avant d'effectuer les modifs, comment faire pour réinstaller le programme initial (ou tout du moins virer celui qui pose problème)
JP

Au moment de l'upload fait un reset manuel avec le bouton RESET. Il te faudra peut-être plusieurs essais

J'ai fais de multiples essais mais sans succès.
La, je suis un peu perdu.
Y aurait il d'autres solutions ?
JP

Programmateur externe, si tu as une autre arduino tu peux le faire. Sinon 10€ sur ebay

Je peux éventuellement récupérer une autre carte( celle qui est installée pour les essais en réels)
Aurais-tu un lien à me préposer pour la manip à éffectuer
Merci pour tout
JP

D'après ce que je peux comprendre, la manip est faite pour charger ou recharger le bootloader dans la carte.
Mais dans mon cas, le bootloader est présent et fonctionne.
C'est le programme implanté dans la carte qui pose problème.
Plus particulièrement l'instruction que j'ai rajouté (voir plus en avant dan le post)
Ce que je voudrais c'est me débarrasser du programme existant (le remplacer, le détruire, en mettre un vide, ....)
JP

Oui mais ça fera la même chose :wink: Programmer le bootloader implique un effacement préalable. D'ailleurs on se retrouve avec le traditionnel blink à la fin

J'ai quand même tenté la manœuvre.
Il y a bien un dialogue entre les deux cartes.
Mais une fois terminé, lorsque je rebranche la carte, j'ai toujours le problème

T'as pas le programme blink de chargé ??!

Non, pas de blink et a la fin je me retrouve avec la led 13 qui clignote comme une dingue et aucun accès au programme.
A mon avis, la carte n'est pas HS, mais cette satanée instruction empêche de faire quoi que ce soit sur la carte.
JP

Y'a dû avoir un problème à l'écriture du bootloader ... Regarde à la fin ici il y un truc si jamais ça marche pas : http://www.open-electronics.org/arduino-isp-in-system-programming-and-stand-alone-circuits/

bricopin:
Hello,
Bon, au lieu de faire un copier/coller du code, j'ai écrit le code, et la plus d'erreur.
Je le charge dans la carte, et la aie, aie, aie.
La led 13 clignote à fond, mon programme ne me donne plus la main.
Je ne peux plus accéder à la carte pour recharger le programme original
Que puis faire
JP

Ou comment faire un loop avec le setup.
Une condition dans le sketch aurait été la bienvenue.

#include <avr/wdt.h>

void setup() {
  if (millis()>10000) {
    wdt_enable(WDTO_15MS);
    for(;;);
  }
}

void loop() {

}

Je sens que d'autres vont se faire piéger.

B@tto,
J'ai effectué la manip en rajoutant la résistance et le condo, pas de changement.
Pac2Kro
Exact, si j'avais réfléchi un peu plus !!!!!!!
JP

bricopin:
B@tto,
J'ai effectué la manip en rajoutant la résistance et le condo, pas de changement.

Pourquoi direct vouloir reprogrammer l'arduino ...

Pour débloquer une carte arduino (du moment que le bootloader est ok) :

  • appuyer et maintenir appuyé le bouton reset
  • lancer l'upload d'un code bidon, blink par exemple
  • quand "binary done ..." avec la taille du programme s'affiche -> relâcher le bouton reset.
    Ça demande plusieurs essais mais quand le timing est bon la carte sera débloqué (le code bidon ayant remplacé le code buggé).