Почему я не могу загрузить эскиз, когда к Uno подключены другие компоненты / устройства?

19

Я хотел сделать довольно простую схему, которая бы последовательно мигала серией светодиодов, используя мой Arduino Uno (точнее, клон SainSmart). Я написал свой набросок, и он отлично скомпилирован. После этого я подключил 8 светодиодов + резисторы к контактам с 0 по 7, а затем подключил Uno к своему компьютеру через USB.

В прошлом я успешно загружал эскизы, поэтому я уверен, что мои настройки, драйверы и т. Д. Верны. Однако, когда я попытался загрузить свой набросок на этот раз, это не сработало.

Я попытался удалить все, что я подключил к выводам Arduino, и внезапно загрузка снова сработала.

Почему это происходит? Означает ли это, что я должен отключать все от платы каждый раз, когда я загружаю эскиз?

Питер Блумфилд
источник

Ответы:

22

Проблема, в частности, связана с выводами 0 и 1. Хотя они могут использоваться как обычные выводы цифрового ввода-вывода, они также служат выводами RX и TX для последовательного порта Uno. USB-соединение (для загрузки эскизов и т. Д.) Внутренне подключается к одним и тем же контактам. К сожалению, это означает, что все, что подключено к контактам 0 и 1, может создавать помехи последовательному соединению, препятствуя связи через USB.

Короче говоря, при загрузке эскиза не обязательно все отключать . Необходимо только отсоединить что-либо от контактов 0 и 1. Вместо того, чтобы проходить через эту стычку при каждой загрузке эскиза, лучше всего просто избегать использования этих контактов без необходимости (например, у вас заканчиваются другие контакты или ваш проект нуждается в последовательном соединении с другим устройством).

Питер Блумфилд
источник
2
Хороший способ научить сообщество.
JVarhol
2
Поскольку Arduino также запрограммирован SPI, который находится на контактах 10-13, также возможно предотвратить загрузку на эти контакты
TheDoctor
1
Хорошо написано Q & A! Я хотел бы видеть больше таких сообщений от вас :)
asheeshr
3
@TheDoctor - Неверно! Контакты SPI актуальны только в том случае, если вы используете In-System-Programmer. Механизм загрузчика программирования не требует SPI булавки на всех . Если вам не нужен отдельный аппаратный инструмент программирования, вам не о чем беспокоиться .
Коннор Вольф
0

«Питер Р. Блумфилд» Я использовал для загрузки эскиза в arduino uno, соединяя Rx и Tx pin, но мой эскиз загружался. На самом деле проблема в том, что драйвер arduino uno может быть удален в вашем случае

Uttam
источник
1
Это было задумано как справочный вопрос. Тот же человек спросил и ответил на вопрос. Я сомневаюсь, что его проблема в том, что драйвер был удален.
Ник Гэммон