Arduino Unoをブリックしましたか?ボードへのアップロードに関する問題


86

Arduino Unoにスケッチをアップロードできません。

  • 私はそれを「ブリック」しましたか?
  • 何が間違っているのかを解決するためにどのような手順を踏むことができますか
  • 修正するにはどうすればよいですか?

7
不思議に思う人にとって、これは実際の質問ではありません!それは、より多くの参照質問です。質問自体は、意図的に非常に広くされています。ただし、答えは非常に詳細であるため、この質問を参照として使用できます。
ポール

2
それは、より多くの参照質問です。まったく正しい。参照してください。それは依頼し、自分の質問に答えるためにOKです
ニックギャモン

@Nick_Gammonはい。しかし、私はあなたがどこかでそれをどこかに注意すべきだったと思う。一見すると、質問が非常に広範であり、あなたが何も研究していないように思えたという事実に(少し)イライラしていました。しかし、あなたの答えを見たとき、それはすべて理にかなっています。また、(可能な場合)自分の回答を受け入れることを忘れないでください。そうすれば、支援しようとしている他の人がこの質問に答えたり、調べたり、コメントしたりしなくなりますこの問題をデバッグするためのかなり良い方法をすでに見つけました)。
ポール

フィードバックをお寄せいただきありがとうございます。最初に、自分の回答を投稿するというメモを付けて質問を投稿しようと考えていましたが、「自分の質問に回答する」チェックボックスが表示されたので、代わりにそれをチェックしました。それを受け入れることに関しては、私は20時間許されていません。あなた自身の答えを受け入れるのは少し奇妙に思えましたが、私が許されているときは確かにそうすることができます。私は、メタArduinoの上の質問を正確に、標準的な質問は何ですか?正しい手順を実行しようとしましたが、応答がありませんでした。
ニックギャモン

@FuaZeとNick Gammon:これは一般的に素晴らしいようです。私がする唯一の提案は、質問と回答が実際に何であるかについて主題をより示唆的にすることです。現状では、あまりにも曖昧なものとして吹き飛ばそうと思われたのではないかと思います。おそらく、タイトルは「失敗したアップロードをトラブルシューティングするにはどうすればよいですか?」
dlu

回答:


115

たぶんレンガじゃない

私はかなりの数のArduinoを持っていますが、ここ数年で「ブリック」しているのはこれまでの1つだけです。残念ながら、その特定のものにはSMD(表面実装)プロセッサチップが搭載されていたため、別のチップと交換するのは簡単ではありません。

落ち着いて、次の手順を試してください...


サンプルボード

「Arduinoの宇野は」ただものではないこと失敗する可能性があります。複数の主要コンポーネントがあり、おそらく1つだけが失敗しました(ある場合)。この参考写真をご覧ください。

Arduino Unoの主要コンポーネント

主なコンポーネントは次のとおりです。

  • Atmega16U2プロセッサ-これはUSB接続へのインターフェースを処理します
  • Atmega328Pプロセッサー-これは、スケッチが描かれた「メイン」プロセッサーです
  • 電圧レギュレータ-これは、電源ジャックからの入力電力を5 Vに変換します
  • 電源LED(緑色)-「オン」とマークされています
  • 「L」と表示されたインジケータLED(黄色)-オペアンプを介してデジタルピン13に接続
  • RxおよびTx LED(黄色)-これらはUSBチップ(Atmega16U2)が受信中か送信中かを示します

RxおよびTx LEDは、ボード上のデジタルピン0および1(RxおよびTxとマーク)に直接接続されていないことに注意してください。USB経由でシリアル通信行っている場合にのみ点灯します。デジタルピン0および1に何か(GPSなど)が直接接続されている場合は点灯しません。

また、「L」LEDはオペアンプを介して接続されているため、ピン13がスケッチの入力に設定されている場合に点灯する場合があります。これは正常です。何かが誤ってデータを送信しているという意味ではありません。


電源を確認してください

USBパワー

  • USBケーブルを使用してボードをコンピューターに接続し、緑色の「オン」LEDが点灯することを確認します。

  • マルチメータと2本のジャンパリードを使用して、5VピンとGNDピン(下部の矢印)の間をテストします。約5.0 Vの読み取り値を取得する必要があります(私は5.04 Vを取得しました)。

(お持ちでない場合は10ドル前後で安価なマルチメーターを購入できますが、50ドル前後でより良いマルチメーターを入手したほうがよいでしょう。すべての電子機器のWebサイトとストアを確認してください。)

  • また、3.3 VピンとGNDピン間でテストします-3.3 Vを取得する必要があります。

USBケーブルを差し込んだ状態で5 Vにならない場合は、もう一方の端がコンピューターに接続されていることを確認してください。別のケーブルも試してください。

電源ジャック

  • あなたが使用し、または使用することを計画している場合は、電源ジャック(写真上「に力を」マーク)はUSBを切断し、電源のプラグイン-に正で7 DC V 12になるべきセンターピン。

  • 上記のように5 Vおよび3.3 Vピンを測定します。それでも同じ電圧が表示されるはずです。

USBを接続した状態で5 Vを得るが、電源を供給していない場合は、電圧レギュレータ(写真に記載)が破損している可能性があります。または、電源装置が故障している可能性があります。別の電源を試して、どちらであるかを確認してください。


電源オンLEDフラッシュを確認します

Optibootブートローダーを使用している場合(通常Unoに同梱されています)、リセットボタンを押して放すか、USBまたは電源ケーブルを抜き差しして、「L」LEDが3回すばやく点滅します。「オン」時間と「オフ」時間はそれぞれ50ミリ秒であり、3回のフラッシュは約1/3秒以内に終了します。

そうでない場合は、ブートローダーまたはメインプロセッサチップ(Atmega328P)に問題がある可能性があります。


スケッチをアップロードしてみてください

重要:スケッチのアップロードに問題がある場合は、接続されているデバイス(シールドなど)をすべて取り外します。ボードのソケットに差し込まれているジャンパー線も取り外します。特に、デジタルピン0および1(RxおよびTx)には何も接続しないでください。これは、アップロードするコンピューターとの通信を妨げるためです。

シンプルなサンプルスケッチ(例:点滅)の1つを選択し、アップロードしてみます。これはあなたが見るべきものです:

  • 「L」LEDが3回点滅するはずです。これは、アップロードプロセスからのコマンドによってメインチップがリセットされるためです。

  • 「Rx」LEDが素早く点滅するはずです。これは、ブートローダーをアクティブにしようとするアップロードプロセスからの指示です。

  • 「Tx」LEDがすばやく点滅するはずです。これは、アップロードされたデータを確認するプロセッサです。

アップロードプロセスが失敗した場合でも、上記が表示される場合があります。これは、間違ったボードタイプが選択されていることが原因である可能性があります。

「Rx」LEDのみが点滅する場合は、ブートローダーまたはメインプロセッサチップ(Atmega328P)に問題がある可能性があります。誰かがノックしていますが、誰も家にいません!

ボードの種類を確認してください

LEDが点滅するが、次のようなメッセージが表示される場合:

avrdude: stk500_recv(): programmer is not responding

ボードの種類を確認します。

ボードタイプメニュー

間違ったボードタイプを選択した場合、おそらく間違ったアップロード手順を送信し、タイムアウトするか、失敗します。あなたが私のようであり、さまざまなボードが横に並んでいる場合、最後にアップロードしたのは別のボードタイプであることを忘れがちです。

通信ポートを確認してください

LEDがまったく点滅しない場合は、間違った通信ポートが選択されている可能性があります。

通信ポートを確認します。

通信ポートメニュー

可能であれば別のPC / Macを試してください

別のPC / Macをお持ちの場合は、Arduinoをお試しください。これにより、プラグインした特定のコンピューターまたは一般的なコンピューターに問題があるかどうかを絞り込むことができます。

ループバックテストを行う

  • すべてのシールドと他のワイヤを外します
  • 電源からボードを取り外します
  • ジャンパー線をRESETからGNDに接続します(写真のオレンジ色の線)
  • RxからTxにジャンパー線を接続します(写真の白い線)

配線:

ループバックテスト

  • USBケーブルを接続し、Arduino IDEのターミナルモニターなどのターミナルプログラムを起動します。何かを入力して送信します(たとえば、ターミナルモニターでEnterキーを押します)。
  • 入力したものはすべてエコーバックする必要があります。

すべてがエコーバックされる場合:適切な通信ポートがあることを確認し、USBケーブルは正常で、USBインターフェイスチップ(Atmega16U2)はおそらく正常です。

何もエコーバックされない場合は、以下を確認してください。

  • 正しい通信ポートがあります。
  • 別のケーブルを試してください。一部の安価なUSBケーブルには、電源線のみがあり、データ線はありません。
  • Arduinoのデバイスドライバーがインストールされていることを確認します。そのボードがこのコンピューターで以前に機能していた場合、おそらくこれを行う必要はありませんが、このボードをこのコンピューターに初めて接続する場合は、行う価値があります。

Atmega16U2チップをテストする

ボードがループバックテストに失敗し、USBケーブルが正常であることを確認したら、Atmega16U2チップ自体をテストできます。ボードには、Atmega16U2チップに隣接し、USBソケットの近くにICSP(In Circuit Serial Programming)ヘッダーがあります。

最初に電源を切断します(USBケーブルと電源ケーブルをすべて取り外します)。

次に、写真に示すように、ICSPヘッダーを6本のジャンパー線を介して既知の良好なUnoに接続できます。

Atmega16U2チップをテストする

ICSPヘッダーのピン配列は(上から)です:

ICSPヘッダー

Atmega16U2チップの近くのICSPヘッダーのピン1は、「AREF」の「F」の近くの小さな白い点でマークされています。ATmega328Pチップ近くのICSPヘッダーのピン1は、「ON」の「N」の下に小さな白い点でマークされています。

接続する:

Good board         Target Uno

  MISO                MISO    (pin with dot - pin 1)
  VCC                 VCC
  SCK                 SCK
  MOSI                MOSI
  D10                 /RESET
  GND                 GND

配線を再確認してください。

次に、「既知の正常な」ボードに、Atmegaブートローダープログラマーページで説明されているように、「Atmega_Board_Detector」スケッチをインストールします。コードはGitHub-nickgammon / arduino_sketchesにあります。そのページの[ダウンロード]ボタンをクリックすると、いくつかの便利なスケッチが表示されます。必要なものは「Atmega_Board_Detector」と呼ばれます。

インストールしたら、シリアルモニターを開いて115200ボーに設定すると、次のように表示されます。

Atmega chip detector.
Written by Nick Gammon.
Version 1.17
Compiled on Jul  9 2015 at 08:36:24 with Arduino IDE 10604.
Attempting to enter ICSP programming mode ...
Entered programming mode OK.
Signature = 0x1E 0x94 0x89
Processor = ATmega16U2
Flash memory size = 16384 bytes.
LFuse = 0xEF
HFuse = 0xD9
EFuse = 0xF4
Lock byte = 0xCF
Clock calibration = 0x51
Bootloader in use: No
EEPROM preserved through erase: No
Watchdog timer always on: No
Bootloader is 4096 bytes starting at 3000

Bootloader:

3000: 0x4B 0xC0 0x00 0x00 0x64 0xC0 0x00 0x00 0x62 0xC0 0x00 0x00 0x60 0xC0 0x00 0x00
3010: 0x5E 0xC0 0x00 0x00 0x5C 0xC0 0x00 0x00 0x5A 0xC0 0x00 0x00 0x58 0xC0 0x00 0x00
3020: 0x56 0xC0 0x00 0x00 0x54 0xC0 0x00 0x00 0x52 0xC0 0x00 0x00 0xEE 0xC4 0x00 0x00
...
3FE0: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF
3FF0: 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF 0xFF

MD5 sum of bootloader = 0xD8 0x8C 0x70 0x6D 0xFE 0x1F 0xDC 0x38 0x82 0x1E 0xCE 0xAE 0x23 0xB2 0xE6 0xE7
Bootloader name: Arduino-dfu-usbserial-atmega16u2-Uno-Rev3

First 256 bytes of program memory:

0: 0x90 0xC0 0x00 0x00 0xA9 0xC0 0x00 0x00 0xA7 0xC0 0x00 0x00 0xA5 0xC0 0x00 0x00
10: 0xA3 0xC0 0x00 0x00 0xA1 0xC0 0x00 0x00 0x9F 0xC0 0x00 0x00 0x9D 0xC0 0x00 0x00
20: 0x9B 0xC0 0x00 0x00 0x99 0xC0 0x00 0x00 0x97 0xC0 0x00 0x00 0x48 0xC4 0x00 0x00
30: 0x0C 0xC4 0x00 0x00 0x91 0xC0 0x00 0x00 0x8F 0xC0 0x00 0x00 0x8D 0xC0 0x00 0x00
...

ただし、次のようなメッセージが表示される場合:

"Failed to enter programming mode. Double-check wiring!"

これは、ATmega16U2が機能していないことを示しているように見えます。


ATmega328Pチップをテストする

「既知の正常な」Arduino Unoから電源を切断し、この写真に従ってICSPジャンパーを再配線して、それらをUnoの「メイン」プロセッサーに接続します。

ATmega328Pチップをテストする

ICSPヘッダーのピン配列は(上から)です:

ICSPヘッダー

ATmega328Pチップ近くのICSPヘッダーのピン1は、「ON」の「N」の下に小さな白い点でマークされています。

配線は以前と同じです。ただし、USBソケットから最も遠いボードの端にある他のICSPヘッダーに接続します。

Good board       Target Uno

  MISO                MISO    (pin with dot - pin 1)
  VCC                 VCC
  SCK                 SCK
  MOSI                MOSI
  D10                 /RESET
  GND                 GND

接続したら、シリアルモニターを開いて115200ボーに設定すると、次のように表示されます。

Atmega chip detector.
Written by Nick Gammon.
Version 1.17
Compiled on Jul  9 2015 at 08:36:24 with Arduino IDE 10604.
Attempting to enter ICSP programming mode ...
Entered programming mode OK.
Signature = 0x1E 0x95 0x0F
Processor = ATmega328P
Flash memory size = 32768 bytes.
LFuse = 0xFF
HFuse = 0xDE
EFuse = 0xFD
Lock byte = 0xEF
Clock calibration = 0x83
Bootloader in use: Yes
EEPROM preserved through erase: No
Watchdog timer always on: No
Bootloader is 512 bytes starting at 7E00

Bootloader:

7E00: 0x11 0x24 0x84 0xB7 0x14 0xBE 0x81 0xFF 0xF0 0xD0 0x85 0xE0 0x80 0x93 0x81 0x00
7E10: 0x82 0xE0 0x80 0x93 0xC0 0x00 0x88 0xE1 0x80 0x93 0xC1 0x00 0x86 0xE0 0x80 0x93
...

MD5 sum of bootloader = 0xFB 0xF4 0x9B 0x7B 0x59 0x73 0x7F 0x65 0xE8 0xD0 0xF8 0xA5 0x08 0x12 0xE7 0x9F
Bootloader name: optiboot_atmega328

First 256 bytes of program memory:

0: 0x0C 0x94 0x35 0x00 0x0C 0x94 0x5D 0x00 0x0C 0x94 0x5D 0x00 0x0C 0x94 0x5D 0x00
10: 0x0C 0x94 0x5D 0x00 0x0C 0x94 0x5D 0x00 0x0C 0x94 0x5D 0x00 0x0C 0x94 0x5D 0x00
20: 0x0C 0x94 0x5D 0x00 0x0C 0x94 0x5D 0x00 0x0C 0x94 0x5D 0x00 0x0C 0x94 0x5D 0x00
30: 0x0C 0x94 0x5D 0x00 0x0C 0x94 0x5D 0x00 0x0C 0x94 0x5D 0x00 0x0C 0x94 0x5D 0x00
...

この場合、メインプロセッサが動作していることを確認し、Optibootブートローダーを搭載しています。


修正できるもの

故障した電圧レギュレータ

これは簡単に置き換えることはできませんが、電源ジャックを使用する場合にのみ必要です。USBから実行する場合は必要ありません。または、4〜5 Vの電源(たとえば、単3電池x 3)を手配し、ボード上の5 Vソケットに直接接続することもできます。


失敗したATmega16U2チップ

これは、USBポート経由でスケッチをアップロードし、シリアルデバッグする場合にのみ必要です。SMD(表面実装デバイス)であるため、交換は特に簡単ではありません。ただし、それなしで管理できます。

ICSPプログラミングデバイスを購入すると、ICSPヘッダーを介してスケッチをアップロードできます。

ICSPソケットに差し込まれたそのようなデバイスの例:

USBtinyISP

AVRISP

(これらの写真はRuggeduinoを撮影したものですが、コンセプトは同じです)。


次のようなFTDIケーブルも入手できます。

FTDIをArduinoに接続する

次のようにボードのシリアルポートに接続します。

FTDIケーブル

FTDI    Arduino Uno

GND       GND  (black wire on FTDI cable, blue jumper wire)
CTS       not connected
VCC       5V
TxD       D0 (RX)
RxD       D1 (TX)
RTS       To RESET with a 0.1 µF capacitor in series with it (green wire)

USBチップをバイパスして、スケッチをメインプロセッサに直接アップロードできるようになりました。


Atmegaチップスタンドアロンプ​​ログラマを使用して.hexファイルをアップロードすることもできます。これにより、スケッチ用の.hexファイルをSDカードにコピーし、ICSPヘッダーを介してボードをプログラムできます。


失敗したATmega328Pチップ

メインプロセッサは、ソケットに取り付けられていればかなり簡単に交換できます。Adafruitのような場所から6ドル前後で交換用チップを入手してください。または、eBayを試してください。面倒を省くために、Optibootブートローダーが既に搭載されているチップを入手してください。

既存のチップを慎重にソケットから取り出し、ピン1の位置に注意して新しいチップを取り付けます。ピン1にはチップにノッチがあり、正しい向きがこの投稿の最初の写真に黄色で記載されていますドット(ボードの端に最も近い)。足を少し真っ直ぐにする必要があるでしょう。チップの両端を持ち、机のような平らな面に少し押し込みます。金属ピンに触れないようにしてください。静電気でそれらを叩く可能性があります。


ATmega328Pは応答しますが、ブートローダーはありません

Optibootブートローダーを置き換えるAtmegaブートローダープログラマーのスケッチがあります。配線は、チップ検出器のスケッチと同じです。コードはGitHub-nickgammon / arduino_sketchesにあります。そのページの[ダウンロード]ボタンをクリックすると、いくつかの便利なスケッチが表示されます。必要なものは「Atmega_Board_Programmer」と呼ばれます。

「既知の良好な」Unoにスケッチをインストールし、先ほど示した配線でターゲットボードに接続します。

ATmega328Pチップをテストする

「良い」Unoでシリアルモニターを開くと、次のように表示されます。

Atmega chip programmer.
Written by Nick Gammon.
Version 1.35
Compiled on Jul  9 2015 at 15:06:58 with Arduino IDE 10604.
Attempting to enter ICSP programming mode ...
Entered programming mode OK.
Signature = 0x1E 0x95 0x0F
Processor = ATmega328P
Flash memory size = 32768 bytes.
LFuse = 0xFF
HFuse = 0xDE
EFuse = 0xFD
Lock byte = 0xEF
Clock calibration = 0x83
Type 'L' to use Lilypad (8 MHz) loader, or 'U' for Uno (16 MHz) loader ...

Uno(Optiboot)ローダーに「U」と入力します。

Using Uno Optiboot 16 MHz loader.
Bootloader address = 0x7E00
Bootloader length = 512 bytes.
Type 'Q' to quit, 'V' to verify, or 'G' to program the chip with the bootloader ...

「G」と入力して、チップをプログラムします。

見るべき:

Erasing chip ...
Writing bootloader ...
Committing page starting at 0x7E00
Committing page starting at 0x7E80
Committing page starting at 0x7F00
Committing page starting at 0x7F80
Written.
Verifying ...
No errors found.
Writing fuses ...
LFuse = 0xFF
HFuse = 0xDE
EFuse = 0xFD
Lock byte = 0xEF
Clock calibration = 0x83
Done.
Programming mode off.
Type 'C' when ready to continue with another chip ...

これには約1秒かかります。これでブートローダーがインストールされました。


ウォッチドッグタイマーの問題

ウォッチドッグタイマー(既定ではオフ)は、一定時間後にプロセッサをリセットするように構成できます。その目的は、現場に配備されたプロセッサの「ハング」から回復することです。ただし、タイマーが短い期間(16ミリ秒など)に設定されている場合、ブートローダーが何かを実行する前に、プロセッサを再度リセットできます。

症状は、新しいスケッチをアップロードできないことです。一部の最新のブートローダー(Optibootなど)は、最初に行うことの1つとしてこの問題を停止するための手順を実行します。しかし、他の人はそうではありません。

これは、スケッチを実行するとリセットされるという問題があり、問題がある場合はスケッチを置き換えることができないため、回復が難しい場合があります。多くの場合、回復するには新しいブートローダーを書き込む必要があると報告されます。ただし、これは副作用として、ブートローダーを書き込むと現在のスケッチが消去されるためです。

そこ回復の道は。次の手順を実行します。

  • ボードの電源を完全にオフにします(USBケーブルを取り外します)。
  • リセットボタンを押したままにします(または、RESETピンからGNDピンにジャンパー線をかけます)。これにより、問題のスケッチが開始されなくなり、ウォッチドッグタイマーがアクティブになります。
  • リセットを押したまま、USBケーブルを再接続します。
  • この問題のないスケッチ(たとえば、点滅)のアップロードを開始します
  • IDEが「アップロード中」と報告したら、リセットボタンを放します(またはジャンパー線を取り外します)。
  • これでOKがアップロードされます-ウォッチドッグタイマーをアクティブにするスケッチが開始されなかったためです。

Mega2560アップロードの問題

この投稿は実際にUnoボードをターゲットにしているものの、非常に一般的であるため、ここで言及します。

Mega2560ブートローダーの一部のバージョンは、「!!!」を探します。PCからの着信アップロードで、それが表示されたら、デバッグモードに移行します。これにより、アップロードが失敗します。

サンプルコード:

Serial.println ("Furnace overheating!!!");

ソリューション:

  • 最新のブートローダーをインストールします。この返信で前述した私の「ブートローダーアップローダー」スケッチは、その問題のないブートローダーをインストールするはずです。

または(より簡単に):

  • 使ってはいけません "!!!" あなたのスケッチに。

Leonardo / Micro / Esploraなどへのアップロードの問題

メイン(および唯一の)プロセッサとしてATmega32u4を搭載したボードは、アップロードが難しい場合があります。これは、同じチップがアップロードを処理し、コードを実行する必要があるためです。

ボードがリセットされた後、アップロードする新しいスケッチを探すとき、機会の小さなウィンドウがあります。これらのボードにアップロードする方法は次のとおりです。

  • エラーなしでスケッチをコンパイルします。
  • アップロードを開始
  • IDEが「アップロード中」と報告したら、リセットボタンを押して放します。

古いスケッチが実行を開始する前に、これを行うのにわずか数秒しかありません。このプロセスを数回繰り返す必要がある場合は、落胆しないでください。それは正常です。


参照資料


5
ワオ。これは素晴らしい偉大な答えです
rpax

1
それは素晴らしい答えです。
メルトギュルソイ

「USBを接続した状態で5 Vを得るが、電源を接続していない場合は、電圧レギュレータ(写真に記載)が破損している可能性があります。 」-なぜこれでスケッチをアップロードできないのですか?
user2813274

あなたはまったく正しい、そうではありません。ただし、チェックリストは障害の一般的なチェックリストであると想定されていました。この場合、「スケッチをアップロードすることはできますが、フィールドに展開すると、電源(壁のいぼ)が機能しません」のようになります。
ニックギャモン

1
最近、新しいFTDIドライバーで問題が発生しました。これは、中国語の「FTDI互換」チップ(「模倣」とも言える)を「ブリック」します。デバイスのPIDを0x0000に設定すると、ドライバーが無効になります。FTDIのM_PROGツールを使用してPIDを元に戻すか、ドライバーを変更する(および未検証のドライバーを許可するようにウィンドウを設定する)ことを選択できます。
ポール

14

少なくとも-avrdudeを使用してスケッチをアップロードすると仮定しますが、アップロードの失敗に関する詳細情報(スケッチアップローダーの出力など)を入力してください。

Nick Gammonの素晴らしい答えに加えて、スケッチで感嘆符を検索してください。スケッチに3つ以上の感嘆符を含む文字列が含まれている場合、古いバージョンのArduinoブートローダーがこれらの感嘆符を別の機能として解釈し、アップロードが停止するため、アップロードは失敗します。

アップロードを停止する例:

char* test = "This will stop the upload!!!";

Google Code issueをご覧ください。


1
いい視点ね。これは主にMega2560に適用されますが、私はそれを省いたと認めます。:)
ニックギャモン

1
この問題に対処するセクションを追加しました。
ニックギャモン

2

私は、Arduino Unoボード上で静的なために2個のATMega328Pをブリックしました(私は思う)。

スタティックはTXピンを殺したように見えるため、プログラムはUSBケーブルを使用してダウンロードできません。

最も簡単な解決策は、マイクロコントローラーを交換することです。Arduinoブートローダーでプログラムされた新しいATMega328P DIP(このようなAdafruit製のもの)を購入すれば、再び準備ができています。

または、AVRISPmkIIプログラマを使用して、ATMega328Pをプログラムすることもできます。すると、Txピン以外はすべて正常に機能します。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.