Offline
Jr. Member
Karma: 0
Posts: 85
|
 |
« on: January 07, 2013, 12:39:24 pm » |
Hello, Lorsque je mets sous tension ma carte Arduino, ou bien lorsque j'ouvre la fenêtre série de l'IDE, je pensais qu'un Reset était exécuté. Or pour moi il n'en ai rien. Sur le Forum, j'ai trouvé un fil qui traite de la maniéré d’implanter un bout de code pour effectuer un reset par programme. #include <avr/wdt.h> // ... wdt_enable(WDTO_15MS); for(;;); Donc, j'inclus ce bout de code au début de mon programme, et j'ai une erreur NivelUp_07:5: error: expected `)' before ':' token NivelUp_07:6: error: expected unqualified-id before 'for' NivelUp_07:6: error: expected unqualified-id before ')' token J'ai bien wdt.h dans un sous-repertoire Arduino Merci a vous JP
|
|
|
|
|
Logged
|
|
|
|
|
France
Offline
Faraday Member
Karma: 36
Posts: 4331
Arduino Hacker
|
 |
« Reply #1 on: January 07, 2013, 01:03:31 pm » |
Bonjour,
Quelle carte arduino ? Officielle ou chinoise ? Quel version de l'ide et sous quel système ? A tu coupais la piste / jumper RST_EN (reset enable) ?
Pour l'erreur sans le code complet c'est impossible de savoir ou ce situe l'erreur. C'est surement un ':' ou lieu d'un ';' quelque par avant cette partie du code.
|
|
|
|
|
Logged
|
|
|
|
|
Ales
Offline
Edison Member
Karma: 7
Posts: 1663
Do or DIY
|
 |
« Reply #2 on: January 07, 2013, 02:26:20 pm » |
J'ai jamais testé mais si on raccorde le pin RST à un pin digital et qu'on le met à LOW ?
|
|
|
|
|
Logged
|
|
|
|
|
France
Offline
Full Member
Karma: 0
Posts: 127
|
 |
« Reply #3 on: January 07, 2013, 02:30:36 pm » |
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).
|
|
|
|
|
Logged
|
|
|
|
|
La Rochelle, France
Offline
Newbie
Karma: 0
Posts: 13
|
 |
« Reply #4 on: January 07, 2013, 02:50:20 pm » |
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.
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Jr. Member
Karma: 0
Posts: 85
|
 |
« Reply #5 on: January 08, 2013, 02:44:28 am » |
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
|
|
|
|
|
Logged
|
|
|
|
|
Ales
Offline
Edison Member
Karma: 7
Posts: 1663
Do or DIY
|
 |
« Reply #6 on: January 08, 2013, 03:38:10 am » |
Pour moi c'est normal : le watchdog est lancé toute les 15ms ... wdt_enable ne doit être lancé que lorsque tu le souhaites 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 ?
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Jr. Member
Karma: 0
Posts: 85
|
 |
« Reply #7 on: January 08, 2013, 03:45:30 am » |
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
|
|
|
|
|
Logged
|
|
|
|
|
Ales
Offline
Edison Member
Karma: 7
Posts: 1663
Do or DIY
|
 |
« Reply #8 on: January 08, 2013, 04:47:21 am » |
Au moment de l'upload fait un reset manuel avec le bouton RESET. Il te faudra peut-être plusieurs essais
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Jr. Member
Karma: 0
Posts: 85
|
 |
« Reply #9 on: January 08, 2013, 04:58:57 am » |
J'ai fais de multiples essais mais sans succès. La, je suis un peu perdu. Y aurait il d'autres solutions ? JP
|
|
|
|
|
Logged
|
|
|
|
|
Ales
Offline
Edison Member
Karma: 7
Posts: 1663
Do or DIY
|
 |
« Reply #10 on: January 08, 2013, 06:29:32 am » |
Programmateur externe, si tu as une autre arduino tu peux le faire. Sinon 10€ sur ebay
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Jr. Member
Karma: 0
Posts: 85
|
 |
« Reply #11 on: January 08, 2013, 08:25:03 am » |
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
|
|
|
|
|
Logged
|
|
|
|
|
Ales
Offline
Edison Member
Karma: 7
Posts: 1663
Do or DIY
|
 |
« Reply #12 on: January 08, 2013, 08:53:45 am » |
|
|
|
|
|
Logged
|
|
|
|
|
Offline
Jr. Member
Karma: 0
Posts: 85
|
 |
« Reply #13 on: January 08, 2013, 09:31:01 am » |
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
|
|
|
|
|
Logged
|
|
|
|
|
Ales
Offline
Edison Member
Karma: 7
Posts: 1663
Do or DIY
|
 |
« Reply #14 on: January 08, 2013, 09:54:59 am » |
Oui mais ça fera la même chose  Programmer le bootloader implique un effacement préalable. D'ailleurs on se retrouve avec le traditionnel blink à la fin
|
|
|
|
|
Logged
|
|
|
|
|
|