mardi 7 août 2018

Arduino : Episode 3: les erreurs / syntax error





(Arduino Uno/Nano)
Voici un petit medley des erreurs arduino que j'ai pu rencontrer (et resoudre)

1°)
arduino avrdude: stk500_recv(): programmer is not responding
(Lors du téléversement / Windows 10 / HP X360 G2)

>> le driver USB2.0-Serial n'était pas installé dans le gestionnaire de périphérique, une recherche du driver sur internet à résolu le problème. (USB-SERIAL CH340)

>>Débrancher les modules sur l'arduino, celui-ci doit être "nu" lorsque le téléversement est effectué

>> Outils/Processeur/Atmega328P (OldBootLoader)

2°)
avrdude: stk500_recv(): programmer is not responding
avrdude: stk500_getsync() attempt 10 of 10: not in sync: resp=0x68
Problème de téléversement vers la carte. Voir http://www.arduino.cc/en/Guide/Troubleshooting#upload pour suggestions.
>> débranche, rebranche l'USB de l'arduino

3°)
ATTENTION : La catégorie 'Device Control, Signal Input/Output' dans la bibliothèque rc-switch n'est pas valide. Définition sur : 'Uncategorized'
(Lors de la compilation / Windows 10 / HP X360 G2)
Il s'agit d'une alerte non bloquante dans la bibliothèque RC-SWITCH qui gère les modules 433mHz

4°)Information dans la console incompréhensible :
ex:
⸮⸮H⸮L⸮⸮
⸮⸮⸮ʈ⸮!)ļ2y⸮)!⸮!. ⸮ ⸮!)x⸮
>> Changez en bas le bitrate: exemple de 9600 baud à 115200

5°) Code non executé
J'ai 2 ESP8266 ou ESP32 et sur mon Lolin, le code s'execute bien sur le Noname il ne fonctionne pas du tout.
Après de nombreux tests, j'ai trouvé qu'un module (le lolin ) fonctionne avec :NodeMCU 1.0 (ESP-12E Module) et l'autre avec (le noname) NodeMCU 0.9 (ESP-12 Module).

6°) Chargement de code:
error: espcomm_upload_mem failed
Le câble USB est mal branché à l'ordinateur, aucun PORT COM n'est détécté, donc aucun téléversement.
>>Débrancher rebrancher le câble USB

Dans la console, en utilisant le bouton reset, j'ai le code ressemblant à :
;ld??|?$?|OO.......
à 115200 baud
en passant à  74880,le code devient
ets Jan  8 2013,rst cause:2, boot mode:(3,6)

J'ai eu beau reflasher à diffent bitrate, avec different firmware, deployer different code, rien n'y fait.
Du coup je suis resté sur mon 115200 partout, flashé avec nodemcu_integer_0.9.6-dev_20150704.bin, changé le type de carte dans Arduino IDE. et c'est passé.
Le premier code de la carte n'est pas visible mais le code passe ensuite, il faut patienter.
Bref, il faut changer le type de carte

7°) Fatal Exception
Fatal exception (0):  epc1=0x40100002, epc2=0x00000000, epc3=0x00000000, excvaddr=0x00000000, depc=0x00000000
Voici un message trouvé dans la console en vitesse 74880
Bref, j'ai branché le 5V sur le GND et inversement.
Aie Aie Aie

8°)A la verification du code :collect2.exe: error: ld returned 1 exit status
Arduino : 1.8.7 (Windows Store 1.8.15.0) (Windows 10), Carte : "Arduino Nano, ATmega328P (Old Bootloader)"
c:/program files/windowsapps/arduinollc.arduinoide_1.8.15.0_x86__mdqgnx93n4wtt/hardware/tools/avr/bin/../lib/gcc/avr/5.4.0/../../../../avr/lib/avr5/crtatmega328p.o:(.init9+0x0): undefined reference to `main'
collect2.exe: error: ld returned 1 exit status
exit status 1
Erreur de compilation pour la carte Arduino Nano
Problème logiciel semble-t-il, j'ai téléversé du code avec un module branché sur l'arduino.
J'ai eu beau changer de code, d'arduino, de port, de cable USB, toujours idem.
Problème résolu en redémarrant Arduino IDE (aucun module branché sur l'arduino)

9°) X Does not name a type
test_plantage:6: error: 'Led' does not name a type
Led=13;
test_plantage:7: error: 'MonDelai' does not name a type
const MonDelai;

Il faut définir même s'il s'agit d'une constante le type de variable:
const int MonDelai=10000;

Aucun commentaire:

Enregistrer un commentaire