sketch をArduino Unoにアップロードしました。そのループは次のようなものです。
void loop(){
Serial.println("Hello World");
}
だから、IDEは「ポートはすでに使用されています」と言っているので、もう何もアップロードできません。
別のプログラマーなしでArduinoを「リセット」する方法はありますか?
編集:
シリアルポートを使用しているものは他にありません。以前のスケッチをアップロードするまで、すべてがうまくいきました。
編集:
いくつか面白いことが見つかりました。
以下を試してください:
ブートローダーがプログラムを開始するまでに遅延があります。タイミングに合わせて作業してください。 Arduinoのコードのバグが500ミリ秒ごとにソフトリセットを実行していたとき、私にとってはうまくいきました。
2台のArduino(1台のUnoと1台のModern Device Freeduino/USBホストボード)で同じ問題が発生し、リセットからシリアルポートの使用開始までのウィンドウが非常に小さいため、アップロードできませんでした。
最後に別のArduino Unoを購入し、 これらの手順 ごとにISPケーブルを構築し、それを使用して、Arduino IDE version 0023、 これらの手順 に従い、preferences.txtを変更します(Arduinoをレスキューした後に置き換えることができるように、編集する前に必ず元のファイルを保存してください)。
各ボードを修正するには、1回の簡単なアップロードが必要でした。非常に多くの悲しみの後、このような迅速な修正。別のArduinoを購入したくないかもしれませんが、これらの利点を考慮してください。
Arduinoをハブではなくコンピューターに直接接続してください。ハブを使用すると、このエラーが発生します。
この問題について頭を悩ませた後、いつでも動作する非常に簡単なソリューションを次に示します。
// Emtpy Sketch to fix upload problem
// Create by Eric Phenix
// Nov 2014
void setup()
{
}
// the loop routine runs over and over again forever:
void loop()
{
delay(1000);
}
出来上がり!エリック
すでに使用されているかブロックされている通信の経験に基づいて、インターフェイスしているプログラムはまだ通信が開いていると言います。また、USBケーブルを外すと通信が停止することもわかりました。それは最大の解決策ではありませんが、問題を解決します。それがお役に立てば幸いです。
私はこの問題の解決策を探すために最後の5時間を費やしました(シリアルポートCOM3はすでに使用されており、シリアルポートはグレー表示されています)...
何が最終的にそれを修正しました(立ち往生して単純な点滅機能をアップロードした入力した最後のコードを取り除きましたか?)このリンクをたどってください- http://arduino.cc/en/guide/windows ドライバーのインストールの指示に従ってください。私のドライバーは「すでに最新」でしたが、これらの手順に従うと不具合が修正されました。私は今再び幸せなキャンピングカーです。
注:チップ上のボタンを使用してボードを手動でリセットするか、その他の方法でデジタル的にリセットします。私のarduino unoとラップトップのポートの間で信号が何らかの形でブロック/混同されたため、インターネット上のコードはこの問題を解決するために機能しませんでした。ドライバの更新は、「すでに使用されているシリアルポート」問題のリセットのようなものです。
少なくとも今のところ..
同様の問題が発生しました。
Myarduinoの電源をオンにすると、アップロードされたプログラムの実行前に遅延が発生します。
だから私は新しいプログラム、または空のプログラムをアップロードするためにその遅延を使用します:
void setup(){} void loop(){}
私の問題は解決しました。
アップロードする前に、arduinoピンへの接続を取り外します。
シリアルコンソールを開いたままにすると、シリアルポートが予約されます。閉じて、もう一度やり直してください。
ポートに「Already used」と表示されている場合は、おそらく間違ったポートを使用しています。 arduinoを接続していたポートに切り替えてから再アップロードを試みると、間違いなく機能することがわかります。
今日もまったく同じ問題がありました。この問題を解決するために見つけた簡単な解決策は次のとおりです(Anghiaraに感謝)。
画面の「アップロードボタン」(緑色の矢印の付いた円)を使用して新しいコードをarduinoにロードする代わりに、マウスを使用して「スケッチ」をクリックしてから「アップロード」をクリックします。
Serial.println()とループを使用するときは、コードにdelay()行を追加することを忘れないでください。私はレッスンを苦労して学びました。
Arduino Leonardo Board
私にとってはうまくいくと思います。
私もこの問題を抱えていて、上記の方法を試しましたが、どれもうまくいかないようでしたが、うまくいくものがありました(どういうわけか、それが単なる変なものであるか、実際にそれを行う方法であるかはわかりません)
Arduino Yunユーザーの場合、Ethernet/WiFi(ツール->ポート)でアップロードしてみてください。私はまったく同じ問題を抱えていたので、ほとんどすべてを試しました(新しいブートローダーの書き込みは別として)。私はそれがうまくいったことに驚いていますが、空のスケッチを問題なくアップロードしました。
何も助けない場合は、ここに示すようにもう1つのボードを配置し、ISPオプションとしてArduinoを介してフラッシュしてみてください https://www.arduino.cc/en/Tutorial/ArduinoISP または https://www.arduino.cc/en/Tutorial/ArduinoToBreadboard 。ブートローダーの代わりに、ISP経由でフラッシュする独自のプログラムを選択できます。
これは、USBで接続したときに0キーを送信するループでスタックしたArduino MicroをプログラムできるようにするためにLinuxで行ったことです。
# while true; do xinput float $(xinput --list | grep -i Arduino | awk '{print $7}' | cut -d'=' -f 2); done
出力が少し異なる可能性があるため、実行してみてください。
# watch xinput --list
次に、Arduinoを接続して、出力のフォーマットを確認します。
これにより、Xがキー入力を受け入れなくなり、Arduino IDEが最終的にプログラムできるようになりました!
端末からシリアルポートにアクセスしていないことを確認してください。そのループ(またはコード)によってArduinoのプログラミングが妨げられてはなりません。