他のコンポーネント/デバイスがUnoに接続されているときにスケッチをアップロードできないのはなぜですか?


19

Arduino Uno(より具体的にはSainSmartクローン)を使用して、一連のLEDを順番に点滅させるかなり単純な回路を作成したかったのです。私はスケッチを書き、それはうまくコンパイルしました。その後、8個のLEDS +抵抗器をピン0から7に接続し、USB経由でUnoをコンピューターに接続しました。

過去にスケッチを正常にアップロードしたことがあるので、設定やドライバーなどが正しいと確信しています。ただし、今回スケッチをアップロードしようとしても、うまくいきませんでした。

Arduinoのピンに接続したものをすべて削除しようとしたところ、突然アップロードが再び機能しました。

なぜこれが起こるのですか?スケッチをアップロードするたびにボードからすべてを切断する必要があるということですか?

回答:


22

問題は特にピン0と1です。これらは通常のデジタルIOピンとして使用できますが、UnoのシリアルポートのRXおよびTXピンとしても機能します。USB接続(スケッチのアップロードなど)は、内部で同じピンにルーティングされます。残念ながら、ピン0と1に接続されているものはすべてシリアル接続に干渉し、USB経由の通信を妨げる可能性があります。

つまり、スケッチをアップロードするときにすべてを切断する必要はありません。ピン0と1から何かを切り離すことだけが必要です。しかし、スケッチをアップロードするたびに面倒な作業をするのではなく、必要でない限りそれらのピンの使用を避けるのが最善です(例えば、他のピンがなくなったり、プロジェクトには別のデバイスへのシリアル接続が必要です)。


2
コミュニティに教える良い方法。
Jヴァーホル14

2
アルドゥイーノもピン10~13に存在するSPI、によってプログラムされるので、これらのピン上にアップロードするのを防止することも可能である
TheDoctor

1
よく書かれたQ&A!私はあなたからそのような投稿をもっと見たいです:)
asheeshr 14

3
@TheDoctor-間違っています!SPIピンは、In-System-Programmerを使用している場合にのみ関係します。ブートローダプログラミングメカニズムは、SPIピンをまったく必要としません。別のハードウェアプログラミングツールを接続しない限り、これは心配する必要のあることではありません
コナーウルフ14

0

「Peter R. Bloomfield」RxピンとTxピンを接続して、arduino unoにスケッチをアップロードしていましたが、スケッチがアップロードされました。実際問題は、arduino unoドライバがあなたのケースで削除されるかもしれないことです


1
これは参考質問として意図されていました。同じ人が質問に答えました。彼の問題は、ドライバーが削除されたことだと思います。
ニックギャモン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.