Как arduino ide делает ресет?
- Войдите на сайт для отправки комментариев
Вс, 16/02/2020 - 18:46
Судя по тому, что ide заливает новый скетч прямо при работе пользовательского кода, оно как то делает ресет. Но судя по схеме (nano) такая возможность не предусмотрена. Тогда как? И главное - как это сделать самому?
ps. может там на usb просто есть возможность питание отключать через драйвер?
IDE ресет не делает. Ресет делает мелкосхема USB-UART. А первым стартует загрузчик.
Но судя по схеме (nano) такая возможность не предусмотрена.
По какой схеме? Разных вариаций ардуин существует множество. От оригинальной до разных китайских клонов.
Обычно предусмотрено. От ножки DTR микросхемы USB-UART преобразователя через конденсатор 0.1uf на ножку RESET микроконтроллера.
А вот да, нашел схему где разведен dtr. А на другой схеме он в воздухе висел. Не знал, что там все по разному бывает, попробую dtr дернуть
IDE ресет не делает. Ресет делает мелкосхема USB-UART. А первым стартует загрузчик.
т.к. платформа не была конкретизирована, спрошу, а как же Леонардо делает ресет?
у меня есть предположение, но хотелось бы уточнить.
т.к. платформа не была конкретизирована, спрошу, а как же Леонардо делает ресет?
у меня есть предположение, но хотелось бы уточнить.
"Но судя по схеме (nano) такая возможность не предусмотрена" - воспринял как 168/328 Atmega.
Как делает Леонардо не знаю и даже в руках не держал.))))
Все даже проще оказалось, каждое открытие устройства COM под виндой и так уже дергает DTR и приводит к ресету.
Это объясняет заодно почему мне не удавалось управлять прошивкой через "echo x >com5", она ресетилась каждый раз
Все даже проще оказалось, каждое открытие устройства COM под виндой и так уже дергает DTR и приводит к ресету.
Это объясняет заодно почему мне не удавалось управлять прошивкой через "echo x >com5", она ресетилась каждый раз
если это не отключить в инициализации, то да
Все даже проще оказалось, каждое открытие устройства COM под виндой и так уже дергает DTR и приводит к ресету.
Это объясняет заодно почему мне не удавалось управлять прошивкой через "echo x >com5", она ресетилась каждый раз
А почему тогда МК не ресетится при открытии монитора порта? Ведь тоже порт юзается так же как и при заливке скетча!
1. Заливаю скетч - идёт открытие порта - ресет - заливка - работе скетча.
2. открываю монитор порта - ( тут выходит открытия ком порта не происходит) - кидаю туда символы - ресета нет естественно. НО почему?
Все даже проще оказалось, каждое открытие устройства COM под виндой и так уже дергает DTR и приводит к ресету.
Это объясняет заодно почему мне не удавалось управлять прошивкой через "echo x >com5", она ресетилась каждый раз
А почему тогда МК не ресетится при открытии монитора порта? Ведь тоже порт юзается так же как и при заливке скетча!
1. Заливаю скетч - идёт открытие порта - ресет - заливка - работе скетча.
2. открываю монитор порта - ( тут выходит открытия ком порта не происходит) - кидаю туда символы - ресета нет естественно. НО почему?
мк ресетится, а вот буфер СH340 не очищается, так как понятия не имеет, что мк ресетнулся
Все даже проще оказалось, каждое открытие устройства COM под виндой и так уже дергает DTR и приводит к ресету.
Это объясняет заодно почему мне не удавалось управлять прошивкой через "echo x >com5", она ресетилась каждый раз
А почему тогда МК не ресетится при открытии монитора порта? Ведь тоже порт юзается так же как и при заливке скетча!
1. Заливаю скетч - идёт открытие порта - ресет - заливка - работе скетча.
2. открываю монитор порта - ( тут выходит открытия ком порта не происходит) - кидаю туда символы - ресета нет естественно. НО почему?
мк ресетится, а вот буфер СH340 не очищается, так как понятия не имеет, что мк ресетнулся
ничего не понял про буфер.
Вот работает ардуино, управляет светодиодами WS8211, открываю монитор порта - кидаю туда управляющие коды для своего скетча - ничего не ресетиться, но стоит только нажать кнопку ОТПРАВИТЬ СКЕТЧ - ресет про ходит. В чём разница открытия ком порта в обоих случаях? Я не понимаю.
ничего не понял про буфер.
Вот работает ардуино, управляет светодиодами WS8211, открываю монитор порта - кидаю туда управляющие коды для своего скетча - ничего не ресетиться, но стоит только нажать кнопку ОТПРАВИТЬ СКЕТЧ - ресет про ходит. В чём разница открытия ком порта в обоих случаях? Я не понимаю.
Вам про ком порт почитатать, хардовый, со всеми сигналами TX-RX RTS-CTS DTR-DSR ...и как добраться из монитора (DATA) к этим управляющим сигналам
У меня ресетится nano при открытии монитора в IDE.
Прошиваем стандартный блинк, чтоб раз 5 в секунду мигал, открываем монитор - все на секунду замирает
У меня ресетится nano при открытии монитора в IDE.
Прошиваем стандартный блинк, чтоб раз 5 в секунду мигал, открываем монитор - все на секунду замирает
Опа, а у меня не происходит этого ( в принципе и не надо). Что мы делаем не так?
1. Заливаю скетч - идёт открытие порта - ресет - заливка - работе скетча.
2. открываю монитор порта - ( тут выходит открытия ком порта не происходит) - кидаю туда символы - ресета нет естественно. НО почему?
Точно? У меня не так.
1. Работает ардуина.
2. Закрываю монитор порта
3. Ардуина продолжает работу
4. Открываю монитор порта
5. Ардуина перезагружается.
Что я не так делаю?
Я правильно понимаю, что речь идёт про IDE на "микромягких окнах"? Или с линукса кто-то тоже пробовал? А то я-то на работе на убунте сижу, с ардуинкой все свои дела там делаю.
2. открываю монитор порта - ( тут выходит открытия ком порта не происходит) - кидаю туда символы - ресета нет естественно. НО почему?
на маке тоже перезагружается при открытии монитора
На линьке так же
1. Заливаю скетч - идёт открытие порта - ресет - заливка - работе скетча.
2. открываю монитор порта - ( тут выходит открытия ком порта не происходит) - кидаю туда символы - ресета нет естественно. НО почему?
Точно? У меня не так.
1. Работает ардуина.
2. Закрываю монитор порта
3. Ардуина продолжает работу
4. Открываю монитор порта
5. Ардуина перезагружается.
Что я не так делаю?
вы не настроили компорт, если настроить "правильно" ресетится не будет...
к примеру к компорту подключено радиопередающее устройство, DTR или CTS линии - разрешение
на передачу и будет каждый раз при старте ОСИ самопроизвольное (неконтролируемое) включение,
в этом случае оно точно не надо, видимо ТС тоже радиопопуляризатор )))
Ну так это смотря какой эмулятор.) У меня на Win не перегружается.
К примеру скетч с выводом в терминал работает круглосуточно.
И что ж теперь терминал держать постоянно включенным! Непорядок.
Ну так это смотря какой эмулятор.) У меня на Win не перегружается.
К примеру скетч с выводом в терминал работает круглосуточно.
И что ж теперь терминал держать постоянно включенным! Непорядок.
Юзаю монитор, который с IDE. Ничего специально не настраивал.
Т.е. вопрос так и не выяснили, к тому же дабавился ещё один, почему у одним монитор ресетит , а у других нет?
И что это за настройки?
Юзаю монитор, который с IDE. Ничего специально не настраивал.
Т.е. вопрос так и не выяснили, к тому же дабавился ещё один, почему у одним монитор ресетит , а у других нет?
И что это за настройки?
Ресетит линией DTR. Настройки- Hardware Flow Control. Если отключить, то должна больше не ресетить.
Юзаю монитор, который с IDE. Ничего специально не настраивал.
Т.е. вопрос так и не выяснили, к тому же дабавился ещё один, почему у одним монитор ресетит , а у других нет?
И что это за настройки?
Ресетит линией DTR. Настройки- Hardware Flow Control. Если отключить, то должна больше не ресетить.
Щас глянул у себя - сия настройка стоит в НЕТ. Тогда опять вопрос, почему же при заливке скетча ресет есть?
Или IDE сама временно корректирует эту вещь в "АППАРАТНОЕ", чтобы сбросить МК перед заливкой, а монитор порта настройку не меняет и открывает порт как есть. ТАК?
Щас глянул у себя - сия настройка стоит в НЕТ. Тогда опять вопрос, почему же при заливке скетча ресет есть?
Или IDE сама временно корректирует эту вещь в "АППАРАТНОЕ", чтобы сбросить МК перед заливкой, а монитор порта настройку не меняет и открывает порт как есть. ТАК?
Аппаратный Flow Control это когда линия DTR дергаются автоматически при открытии порта. Но никто не запрещает программе дернуть ее "вручную".
Щас глянул у себя - сия настройка стоит в НЕТ. Тогда опять вопрос, почему же при заливке скетча ресет есть?
Или IDE сама временно корректирует эту вещь в "АППАРАТНОЕ", чтобы сбросить МК перед заливкой, а монитор порта настройку не меняет и открывает порт как есть. ТАК?
Аппаратный Flow Control это когда линия DTR дергаются автоматически при открытии порта. Но никто не запрещает программе дернуть ее "вручную".
Ну тогда наверное ясно всё. IDE при открытии порта - дёргает DTR в обязательном порядке, а монитор просто открывает и тогда в зависимости от настроек потока - DTR задействуется или нет.
Вроде не сложно, но почему то до сих пор этой инфы про ардуину нигде не было!
Щас глянул у себя - сия настройка стоит в НЕТ. Тогда опять вопрос, почему же при заливке скетча ресет есть?
Или IDE сама временно корректирует эту вещь в "АППАРАТНОЕ", чтобы сбросить МК перед заливкой, а монитор порта настройку не меняет и открывает порт как есть. ТАК?
Аппаратный Flow Control это когда линия DTR дергаются автоматически при открытии порта. Но никто не запрещает программе дернуть ее "вручную".
Ну тогда наверное ясно всё. IDE при открытии порта - дёргает DTR в обязательном порядке, а монитор просто открывает и тогда в зависимости от настроек потока - DTR задействуется или нет.
Вроде не сложно, но почему то до сих пор этой инфы про ардуину нигде не было!
ни под виндами ни под Линукс дёрганье IDE пином DTR при открытии монитора порта не зависит от установок настроек управления потоком!
Если у вас под Линуксом не дёргает озвучьте, что за Линукс такой...
не понял, как в винде отклбчить dtr на usb порту?
Управление потоком? Но не одно из трех значений, указанных там, не помогает.
АРдуино все также ресетится при октрытии порта.
не понял, как в винде отклбчить dtr на usb порту?
никак
Ок. Тогда как отключить в ардуино нано ресет при открытии COM порта?
Перерезать дорожку между usb чипом и основным мк.
Перерезать дорожку между usb чипом и основным мк.
Какую именно дорогу?
Какую именно дорогу?
Ту, которая идет от микросхемы USB-UART через конденсатор 0.1uf на ножку RESET микроконтроллера.
Только потом придётся вручную жать RESET для загрузки скетча.
А где тут микросхема USB-UART?
Это не Arduino NANO.
Она на том USB-UART адаптере, который ты подключаешь к этой ардуине для загрузки скетча. Но т.к. в данном случае USB-UART адаптер идет отдельно, достаточно НЕ подключать пин DTR.
...в ардуино нано...
А где тут микросхема USB-UART?
Здесь ее нет, т.к. это не Ардуино Нано, а Ардуино Мини.
Чтобы избавиться от перезагрузки, просто не подключайте ничего к DTR.
Оно?
hulitolku, да. Btw, отличный ник :)
Тогда как отключить в ардуино нано ресет при открытии COM порта?
Использовать Terminal v.1.9b - 20130820 из https://sites.google.com/site/terminalbpp/ хотя бы.