Почему посылается сигнал на цыфровые выходы при работе с COM портом.
- Войдите на сайт для отправки комментариев
Здравствуйте, уважаемые форумчане! Решил я к свой ей Arduino Uno на 10 цифровых выводов (от 2 до 11) подключить по одному светодиоду на каждый выход! Цель - обычное включение/выключение светодиодов через ПК (по USB через виртуальный COM порт). Но при загрузке скетча почему то начали мигать светодиоды на 8, 9, 10 и 11 выводах, а также встроеный 13-й. Также эти же сктодиоды мигают при включении/выключении Serial Monitor, причем при изменении скорости порта - они также мигают! Причем при посылании мною каких либо левых команд они не реагирую (как по идее и должно быть). Собственно поэтому у меня вопрос: почему эти светодиоды мигают, т.е. почему на них идет сигнал?
Плата - Freeduino 2009 - полный аналог Arduino Duemilanove. ATMega328
Может быть потому что скетч?
Сначала, я тоже так подумал, но увы:( После записи пустого скетча, где совершенно не должны включаться светодиоды, они все равно мигают!
Учите Мат.часть!
При запуске или перзагрузке программы автозагрузчик опрашивает serial на предмет прошивки новой прогрммы .
Если новая программа не найдена , МК начинает исполнение прошитой ранее программы.
Так вот , при работе автозагрузчика мерцают все (или почти все) ноги МК.
При запуске Serial Monitor так же происходит перезагрузка программы (reset).
А причем тут Мат. Часть?
Тогда если это автозагрузчик, то как его возможно выключить?
Выключить автозагрузчик ?!
И мат. часть тут очень даже причем. Если бы вы знали основы то не задавали бы таких вопросов.
Если вам мешает автозагрузчик , возьмите чистый МК и шейте его классическим СИ , через дудку или пони прог.
Конкретно , в случае с дуиной , есть такой вариант :
подключаете минусы ваших светодиодов к GND через транзистор или релюшку , так чтобы минус был "нормально" отключен и включаете релюшку только из программы. Тогда мерцания портов при запуске никак не отразятся на работе исполняющих устройств (светодиоды не будут работать так как GND отключен).
Ну и , наверное , дальше последует классическая просьба написать пример программы и схемы ?
Основы математики мне известны! но я так понимаю вы не это имели ввиду, а основы работы с МК!
А вот с класической просьбой вы не угадали! смысл просить - и так все понятно! Я просто думал, что вдруг где то что то упустил, или есть какая то перемычка для выключения! Спасибо большое за ответ, буду релюшками рулить!
Мат. часть Это материальная часть.
Так с этого и надо было начинать:) но за совет спасибо:)
Учите Мат.часть!
1 - При запуске или перзагрузке программы автозагрузчик опрашивает serial на предмет прошивки новой прогрммы .
2 - Если новая программа не найдена , МК начинает исполнение прошитой ранее программы.
3 - Так вот , при работе автозагрузчика мерцают все (или почти все) ноги МК.
4 - При запуске Serial Monitor так же происходит перезагрузка программы (reset).
Извиняюсь, но немного поправлю
1, 2 - не знаю, спорить не буду
3 - так все и или почти все. Сколько плат не использовал (UNO r2, MEGA, MEGA ADK) причем не единичные екземпляры, так ни разу подобного не наблюдалось. Да и по логике такого и быть не может, так как "меги" используються не только в детских игрушках типа "помигать светодиодом" а и в довольно серьезных устройствах, где случайное изменение напряжения на выходах может привести к фатальным последствиям. Ети устройства естественно работают на прошывке, которую иногда приходиться обновлять (оптимизация например).
И если считать что "все (или почти все)" ноги мерцают то подключение транзистора или реле, которые в свою очередь также управляються от тех же ног - как минимум звучит смешно. Что если мигнут вместе нога которая подает напряжение на светодиод и нога которая управляет транзистором - результат тот же - сведодиод мигнул.
4 - работу Serial Monitor ардуиновского интерфейса иногда очень трудно понять. Например только что подключил МЕГА АДК с стетчем протокола общения от одного устройства и проверил на придмет перезагрузки. Так при запуске все продолжает работать, а при закрытии МК перезагружаеться. Лично я уже давно разрабатываю на VisualStudio, там тоже есть средство для общения по серийному порту. Так там никаких перезагрузок нет, скетч продолжает работать как при соединении так и при закрытии порта.
В общем думаеться что проблема здесь не в вышеперечисленом. Попробуйте сначала другой МК если есть возможность.
Да и по логике такого и быть не может, так как "меги" используються не только в детских игрушках типа "помигать светодиодом" а и в довольно серьезных устройствах, где случайное изменение напряжения на выходах может привести к фатальным последствиям.
Между "мегой" и "ардуиной" все же есть некоторое различие - пресловутый бутлоадер. И "мигание диодами" при запуске "меги" с прошитым "ардуиновским" бутлоадером никак не может помешать той же меге "правильно" запускаться в условиях его отсутствия.
Другими словами: мигание диодами при старте может быть не болезнью микроконтроллера, а "фичей" зашитой в него программы.