コマンドラインからArduinoにアップロードする


8

16進数にコンパイルされたスケッチがある場合、コマンドラインから直接avrdudeを使用してこのスケッチをArduinoボードにアップロードできますか?

Pekkaaは、スケッチをアップロードするときにarduino ideが次のコマンドを実行することを理解しました。

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

回答:


5

arduino IDEは、avrdudeを実行する前に、接続されているarduinoをリセットします。これは、Arduinoのリセットピンに接続されているDTRラインをパルスするようにFTDIデバイスに指示することによって行われます。Pekkaaは、これを行い、Arduinoフォーラムのスレッドを更新するperlコードの例を見つけました。

完全を期すために、.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;

システムでの動作に問題がある場合にperlの代わりに使用できるarduinoをリセットするためのpythonスクリプトもあります。


ケント大学からPythonコードの正しいURL:projects.cs.kent.ac.uk/projects/kroc/trac/browser/kroc/trunk/...
デイブ

@Adamの回答にあなたの提案を取り入れました。間もなく更新されます。ありがとう!
boardbite

IIRCでは、pythonやperlを使用せずにsttyを使用してリセットを実行できます。
Chris Stratton
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.