Автоматическая перезагрузка Arduino при подключении терминала
- Войдите на сайт для отправки комментариев
Чт, 14/05/2020 - 13:52
Как отключить автоматическую перезагрузку Arduino при подключении терминала? При подключении Монитора порта Arduino UNO перезагружается. Надо бы как то вырубить.
Порезать дорожку. Но тогда будут проблемы с загрузкой скетчей через порт.
По другому никак? Нельзя программно как то это решить? Почему так происходит? Я же вроде никакого механического воздействия не произвожу. В программе отключаю Монитор порта, а потом подключаюсь к Монитору порта.
Это сделано аппаратно что бы можно было с компа перевести плату в режим загрузки (дернуть Reset).
Порезать дорожку. Но тогда будут проблемы с загрузкой скетчей через порт.
Надо тогда искать тот, что не формирует RTS сигнал ...
Я даже пользуюсь для перезагрузки этой особенностью - достаточно в терминале изменить скорость куда нибудь и обратно и ардуинка перзагружена. И никуда тянуться не надо.
По другому никак? Нельзя программно как то это решить? Почему так происходит?
а оно вам мешает?
К примеру, Ардуино работает круглосуточно и выводится лог на терминал...)
Можно использовать программный серийный порт на других пинах. Тогда перезагружаться не будет. Но программу по ним не зальешь, а мониторить можно.
Мониторить можно, только зачем такие изгаления когда можно взять нормальный эмулятор терминала.
можно взять нормальный эмулятор терминала.
+100500!
ТС, поставьте бесплатный терминал и будет Вам счастье - https://sites.google.com/site/terminalbpp/
Только в 20141030 у меня что-то не работает скроллинг. В предыдущей 20130116 всё ОК.
Нет, предыдущая 20130820 - с тоже всё хорошо.
По другому никак? Нельзя программно как то это решить? Почему так происходит?
а оно вам мешает?
Если бы не мешало не спрашивал бы.
Можно использовать программный серийный порт на других пинах. Тогда перезагружаться не будет. Но программу по ним не зальешь, а мониторить можно.
Придется так и делать.
можно взять нормальный эмулятор терминала.
+100500!
ТС, поставьте бесплатный терминал и будет Вам счастье - https://sites.google.com/site/terminalbpp/
По моему это не зависит от терминала. Контроллер последовательного порта на самой Arduino UNO при подключении сам формирует сигнал или нет?
Нет. Он ничего не знает о подключении терминала. Внешний сигнал DTR дергает ресет. Вам уже предлагали резать дорожку до ресет. А в предложенном терминале есть кнопка посылать или нет DTR.
По моему это не зависит от терминала.
Хотите решить проблему - делайте как говорят. Хотите поспорить - без меня. Это не философская проблема, и спорить о том, что элементарно, за несколько минут, проверяется, я считаю глупым.
Если бы не мешало не спрашивал бы.
Поясните, чем мешает? - я ж тоже не просто так спрашиваю, уверен, что вы что-то неправильно делаете.
Пример общения с Ардуино без перезагрузки при подключении , на которой залит echo скетч ,на Python. на других языках соотвественно аналогично.
import serial
import termios
if __name__ == '__main__':
port = '/dev/ttyUSB0'
# switch of DTR
f = open(port)
attrs = termios.tcgetattr(f)
attrs_old = attrs
attrs[2] = attrs[2] & ~termios.HUPCL
termios.tcsetattr(f, termios.TCSAFLUSH, attrs)
f.close()
com = serial.Serial(port = port , baudrate = 115200 , timeout = 10)
#exchange with echo firmware
com.write(b'test \n\r')
print ( com.readline() )
com.close()
print ("done")
# switch port parameters back
f = open(port)
termios.tcsetattr(f, termios.TCSAFLUSH, attrs_old)
f.close()
pass
Как вариант, можно замкнуть пин rst и землю конденсатором на 100 мф. Тогда при вызове порта, не будет перезагрузки.
При загрузке новой прошивки конденсатор надо будет отсоединить