Von der Kommandozeile auf ein Arduino hochladen

8

Wenn ich eine zu hexadezimal kompilierte Skizze habe, ist es dann möglich, diese Skizze mit avrdude direkt über die Befehlszeile auf ein Arduino-Board hochzuladen?

Pekkaa hat herausgefunden, dass arduino ide beim Hochladen der Skizze den folgenden Befehl ausführt:

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

Antworten:

5

Die Arduino-IDE setzt das angehängte Arduino zurück, bevor avrdude ausgeführt wird. Dazu wird das FTDI-Gerät angewiesen, die DTR-Leitung zu pulsieren, die an den Reset-Pin des Arduino angeschlossen ist. Pekkaa hat den Beispiel-Perl-Code gefunden, der dies tut, und den Thread in den Arduino-Foren aktualisiert.

Der Vollständigkeit halber hier der Befehl, mit dem die .hex-Datei hochgeladen wurde:

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;

Es gibt auch ein Python-Skript zum Zurücksetzen von Arduinos, das anstelle des Perl- Skripts verwendet werden kann, wenn Sie Probleme haben, es auf Ihrem System zum Laufen zu bringen .

Adam
quelle
Richtige URL für den Python-Code von der University of Kent: projects.cs.kent.ac.uk/projects/kroc/trac/browser/kroc/trunk/…
Dave
Hat Ihren Vorschlag in die Antwort von @ Adam integriert. es wird bald aktualisiert. Vielen Dank!
Boardbite
Mit IIRC können Sie das Zurücksetzen mit stty durchführen, ohne Python oder Perl zu benötigen.
Chris Stratton