質問: コマンドラインを使用してArduino Leonardoにコードをアップロードする 私はコンパイルされた.hexファイルをターミナルを使ってArduino Leonardoにアップロードしようとしています。 Arduino IDEを使用してサンプルコードをアップロードするとうまくいき、Arduino IDEからアップロードコマンドを取得しました ``` avrdude -C/etc/avrdude.conf -patmega32u4 -cavr109 -v -v -v -v -P/dev/ttyACM0 -b57600 -D -Uflash:w:[file.hex]:i ``` しかしそれを実行すると、私は次のエラーが出る ``` Connecting to programmer: .avrdude: Send: . [1b] avrdude: Send: S [53] avrdude: Recv: . [15] avrdude: ser_recv(): programmer is not responding avrdude: butterfly_recv(): programmer is not responding ``` どうしましたか?
回答: Leonardoの問題は、Unoなどのボードのようなシリアルポートを開いたときに自動的にリセットされないことです。 Arduino IDEには、ボードを手動でリセットするコードが含まれています(シリアルボードを1200ボーで開き、再度閉じます)。 基本的には、ボードをリセットしてブートローダに入る別の方法が必要です。これは、適切なタイミングでリセットボタンを押す(LEDがブートローダモードになったときにフェードインまたはフェードインする)か、またはコマンドラインユーティリティを使用して1200ボーでシリアルポートを開き、avrdudeを実行する直前にもう一度閉じるだけです。 私は今レオナルドに手を差し伸べることはありませんが、あなたはいくつか運があるかもしれません: ``` stty -F /dev/ttyACM0 ispeed 1200 ospeed 1200 && avrdude -C/etc/avrdude.conf -patmega32u4 -cavr109 -v -v -v -v -P/dev/ttyACM0 -b57600 -D -Uflash:w:[file.hex]:i ```