j'ai une arduino roméo V2, je suis débutant, j'ai fait des programmes qui commandent 2 moteurs,mais quand je charge un nouveau programme parfois on dirait qu'il exécute des bouts (ou la totalité) d'anciens programmes chargés sur la carte...
Quand on télécharge un nouveau programme sur la carte il n’efface pas la totalité de l'ancien ?
Comment s'assurer que la mémoire est complétement vidée avant de télécharger un nouveau programme, y a t il un code dédié ? Une manip a faire sur la carte ?
Autre question le com change com4 une fois com6 une autre fois... c'est lié a quoi? est ce que cela à un lien avec le pb précédent ?
Bonne question qui devrait me lever un doute.
Je suis à des années lumières d’avoir un “fluent english” mais j’ai compris l’inverse.
Premièrement rappel de la ligne de commande de l’IDE 1.04 que je viens de vérifier, c’est tout chaud.
Pour mémoire : environnement Linux Debian Jessie
:avrdude -C/usr/share/arduino/hardware/tools/avrdude.conf -v -v -v -v -patmega328p -carduino -P/dev/ttyACM0 -b115200 -D -Uflash:w:/tmp/build254120940595211591.tmp/scan_i2c_bg.cpp.hex:i
Si je regarde la notice d’avrdude 5.11.1 (page 12) je lit pour l’option -D:
Disable auto erase for flash. When the -U option with flash memory is speci-
fied, avrdude will perform a chip erase before starting any of the programming
operations, since it generally is a mistake to program the flash without per-
forming an erase first. This option disables that. Auto erase is not used for
ATxmega devices as these devices can use page erase before writing each page
so no explicit chip erase is required. Note however that any page not affected
by the current operation will retain its previous contents.
J’ai bien l’impression que l’option “-D” désactive l’effacage systématique.
Me foutais-je le doigt dans l’oeil jusqu’au coude ?
Ce que je comprends, c'est que la mémoire est découpée en page et si l'option de ne pas effacer l'ensemble de la mémoire est prise, seules les pages nécessaires au nouveau programme sont effacées.
Ça ne sert à rien d'effacer systématiquement toute la mémoire.
De la même manière, sur un disque dur, on n'efface jamais le fichier, on libère simplement la place qu'il occupe dans la table d'allocation.
-D désactive bien l'effacement avant écriture ...
Mais la raison est peut être au niveau du bootloader (qui ne gère qu'une partie des commandes STK500).
merci pour les infos, je ne suis pas assez caler pour tout comprendre mais je n'ai mis aucune option dans le programme, je vais essayer de préciser le pb
j'ai un montage carte arduino roméo V2 avec un chassi qui a 2 moteurs pour les roues
les moteurs sont alimentés par 4 piles (interupteur sur le chassi)
quand je connecte la carte par port USB pour charger le programme, une fois le programme uploadé ca marche (j'ai programmé avance de 5 sec et recule 1 sec) par contre quand je débranche le port USB il ne réalise pas le programme, là par exemple il avance 5 sec, attend 13 clignotement de led blanche de la carte (environ 7 sec), puis avance de 1 sec etc....
comment faire pour que une fois débranché il exécute le programme comme quand il est connecté sur USB ?
merciiiii !
Ça ne sentirait pas un problème d'alim par hasard ?
Vérifie au voltmètre la valeur de la tension sur la sortie 5V de la carte arduino le cordon USB branché et débranché.
Et USB débranché la tension au même point les moteurs en action ou arrêtes.
PS pourrait-tu nous faire un petit schéma pour voir comment les alims sont branchées.