libelium XBee Shieldを搭載したArduinoMega2560を持っています。 XBee S2をマウントしていて、2つのジャンパーをUSB設定に設定するか、それらを削除すると、Arduinoにプログラムをフラッシュできます。
ただし、いずれかをマウントすると、 Arduino上のXBeePRO S2B(3つ使用可能で、すべて同じように動作します)、ジャンパーをどのように設定しても、何もフラッシュすることはできません。 ArduinoIDEで avrdude:stk500v2_getsync():プログラマーとの通信のタイムアウト
が常に表示されます。
XBeePRO S2BはArduinoと互換性がありませんか、それとも何が問題なのですか? USBに外部電源を追加しようとしましたが、どちらも役に立ちませんでした。
更新
さらに実験した後、新しい詳細を見つけました。シールドの各ピンを個別に外してみました。それをしている間に、arduinoから reset
ピンを外すとフラッシュできることを発見しました- XBeeシールド回路図を見てください。これはICSPのピン5です。コネクタ;写真:
マルチメーターを使用したところ、XBee PRO S2B CTS / DIO7ポートが高いのに対し、XBee S2のポートは低いため、常にarduinoがリセットされていることがわかりました。 XBee PROS2Bを Sparkfun XBee Explorer USBにマウントし、PuTTYでシリアルポートを開きました。S2とは対照的に、PROS2Bにはいくつかのオプションがあるメニューがあります。
B-Bypass ModeF-Update AppT-TimeoutV-BL VersionA-App VersionR-Reset>
Bと入力するとすぐに、CTSポートがローになり、arduinoがリセットされなくなります。また、このモードは、XCTUを介してモジュールを検出するために必要です。ただし、変更されていないarduinoを使用すると、XBeeが常にリセットしているため、この手紙を送信する機会がありません。このメニューとは何ですか、どういうわけか無効にできますか?