Найти тему
Радиохлам

Небольшой "сюрприз" от китайских ардуинок

На днях приехала небольшая партия ардуинок формата "нано" . Пока проекты с их участием ждут своей очереди, я решил проверить на работоспособность сами контроллеры. Как нельзя лучше, для этого подходит всем известный скетч Blink, который периодический зажигает светодиод на плате контроллера.

Беру первую попавшуюся плату (заранее припаял штырьковые панельки), подключаю к компьютеру, запускаю Arduino IDE и пробую загрузить в плату скетч. Но среда разработки наглухо зависает, при попытке загрузить скетч в плату. В итоге выдает ошибку о том, что указанным COM-портом невозможно воспользоваться, так как он занят. Проверяю настройки еще раз, и повторяю попытку. Краем глаза смотрю на модуль, и чувствую что, что-то идет не так.

-2

Светодиод TX, который сигнализирует о передаче данных от контроллера к другому устройству через последовательный порт, горит непрерывно. Значит, плата шлет какие-то данные в комп, поэтому-то и не получается в нее что либо загрузить. Что ж, давайте посмотрим, что она такого шлет. Открываю монитор порта и наблюдаю вот такую картину:

Абракадабра какая-то!
Абракадабра какая-то!

Будьте внимательны, друзья, и выставляйте скорость обмена стандартную, а не как я:)

Устанавливаем скорость в 9600 бод, и перезапускаем монитор:

-4

Некий скетч считывает с аналогового входа значения, производит некоторую обработку и транслирует значения в компьютер. И все это происходит без какой-либо задержки. Понятно, что в таком случае, у компьютера нет никаких шансов получить управление над СОМ-портом. Похоже, кто-то на китайском заводе решил приколоться. А ведь я было решил, что плата бракованная!

Как же нам загрузить свой скетч? Довольно просто. Нужно всего лишь при попытке компьютера передать данные, помешать ардуинке воспользоваться портом. Как это сделать? У нас есть кнопка сброса, вот ее и нужно несколько раз нажать, что бы скетч, вшитый в контроллер не успел запустится. Тогда наш скетч загружается без проблем.