Télécharger sur un Arduino à partir de la ligne de commande


8

Si j'ai un croquis compilé en hexadécimal, est-il possible de télécharger ce croquis sur une carte Arduino en utilisant avrdude directement depuis la ligne de commande?

Pekkaa a compris que arduino ide exécute la commande suivante lors du téléchargement du croquis:

./hardware/tools/avrdude -Chardware/tools/avrdude.conf -pm328p -cstk500v1 -P/dev/ttyUSB0 -b57600 -D -Uflash:w:/home/pekka/sketchbook/Blink2/applet/Blink2.hex 

Réponses:


5

L'EDI arduino réinitialise l'arduino attaché avant d'exécuter avrdude. Pour ce faire, il indique au dispositif FTDI de pulser la ligne DTR qui est attachée à la broche de réinitialisation de l'arduino. Pekkaa a trouvé l'exemple de code perl qui fait cela et a mis à jour le fil sur les forums Arduino.

Pour être complet, voici la commande qu'ils ont utilisée pour télécharger le fichier .hex:

perl -MDevice::SerialPort -e 'Device::SerialPort->new("/dev/ttyUSB0")->pulse_dtr_on(1000)'; \
./hardware/tools/avrdude -Chardware/tools/avrdude.conf -q -q -pm328p -cstk500v1 -P/dev/ttyUSB0 -b57600 -D -Uflash:w:/home/pekka/sketchbook/Blink2/applet/Blink2.hex;

Il existe également un script python pour réinitialiser les Arduinos qui peut être utilisé à la place de Perl si vous avez du mal à le faire fonctionner sur votre système.


URL correcte pour le code python de l'Université de Kent: projects.cs.kent.ac.uk/projects/kroc/trac/browser/kroc/trunk/…
Dave

Intégré votre suggestion dans la réponse de @ Adam; il sera mis à jour prochainement. Merci!
boardbite

IIRC vous pouvez effectuer la réinitialisation en utilisant stty sans avoir besoin de python ou de perl.
Chris Stratton
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.