Время запуска программы

SergCh
Offline
Зарегистрирован: 18.12.2014

Плата ардуино уно.

Есть некая программка, выдающаяся в сериал на D1 (TX) данные. Так вот вопрос. 

Почему при подаче питания на плату данные с D1 начинают поступать моментально., а вот после ресета проходит около 1,6 секунды прежде чем появятся данные с D1?

Неужели при подаче питания бутлоадер не делает выжидательную паузу?

rkit
Offline
Зарегистрирован: 23.11.2016

Неужели в самом деле как же так, кто разрешил, а самое главное, как так "моментально" у тебя инициировался usb и открылся терминал?

Bruzzer
Offline
Зарегистрирован: 17.03.2020

SergCh пишет:

Неужели при подаче питания бутлоадер не делает выжидательную паузу?

Бутлоадеры разные бывают. Посмотреть примеры кода можно ...\arduino-1.8.5\hardware\arduino\avr\bootloaders\

Но "обычно" работает как вы описали - если не RESET, то сразу идет на выполнение основной программы.

 

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

SergCh пишет:

Неужели при подаче питания бутлоадер не делает выжидательную паузу?

А зачем?

SergCh
Offline
Зарегистрирован: 18.12.2014

Видимо с той же целью, что и при ресете,  ждет не зальют ли ему скетч.

Просто непонятно, как включение питания контроллер отличает от ресета. 

SergCh
Offline
Зарегистрирован: 18.12.2014

Bruzzer пишет:

SergCh пишет:

Неужели при подаче питания бутлоадер не делает выжидательную паузу?

Бутлоадеры разные бывают. Посмотреть примеры кода можно ...\arduino-1.8.5\hardware\arduino\avr\bootloaders\

Но "обычно" работает как вы описали - если не RESET, то сразу идет на выполнение основной программы.

 

А как он отличает, ресет ему нажали или питание включили?

-NMi-
Offline
Зарегистрирован: 20.08.2018

Есть регистр событий и по флагам видно как стартанул проц.

Green
Offline
Зарегистрирован: 01.10.2015

Народ любит часами ждать ответа на форуме, нежели моментально получить ответ от Гугла...(

ЕвгенийП
ЕвгенийП аватар
Offline
Зарегистрирован: 25.05.2015

SergCh пишет:

Видимо с той же целью, что и при ресете,  ждет не зальют ли ему скетч.

Он, в отличие от Вас, знает, что когда собираются заливать, то ресет делают обязательно :-)

SergCh
Offline
Зарегистрирован: 18.12.2014

ЕвгенийП пишет:

SergCh пишет:

Видимо с той же целью, что и при ресете,  ждет не зальют ли ему скетч.

Он, в отличие от Вас, знает, что когда собираются заливать, то ресет делают обязательно :-)

Я всегда считал, что при включении питания ресет должен удерживать проц от запуска до установления нормальных уровней напряжения в цепях питания. Но, в данном случае, как оказалось, это не так. 

nik182
Offline
Зарегистрирован: 04.05.2015

А Вы попробуйте HEX программатором записать и сравните результат. Времена уйдут как раз под ресет.

SergCh
Offline
Зарегистрирован: 18.12.2014

nik182 пишет:

А Вы попробуйте HEX программатором записать и сравните результат. Времена уйдут как раз под ресет.

Да, именно это и хочу сделать, как только доберусь до второй ардуинки. 

 

SergCh
Offline
Зарегистрирован: 18.12.2014

Итак, залил свой скетч в ардуинку через ISP. Теперь программа запускается в течении 150 мс, что при подаче питания, что при ресете. 

 

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

SergCh А фьюзы ?

SergCh
Offline
Зарегистрирован: 18.12.2014

Komandir пишет:

SergCh А фьюзы ?


фьюзы не трогал.

Komandir
Komandir аватар
Offline
Зарегистрирован: 18.08.2018

:-)))) Тогда перед тем как запуститься вашему коду - МК молотит NOP размером с загрузчик !!! Причем теперь и при подаче питания и при Reset ... Надо фьюзами выставить загрузку с 0000 без загрузчика !

nik182
Offline
Зарегистрирован: 04.05.2015

Оп. Не оно. 

SergCh
Offline
Зарегистрирован: 18.12.2014

Komandir пишет:

:-)))) Тогда перед тем как запуститься вашему коду - МК молотит NOP размером с загрузчик !!! Причем теперь и при подаче питания и при Reset ... Надо фьюзами выставить загрузку с 0000 без загрузчика !

Да пускай молотит, главное что задержка начала работы основной программы после ресета теперь не 1.6с, а 150 мс.