Питание

safriq
Offline
Зарегистрирован: 28.03.2016

Всем прив, я начинающий.

Ситуация такая: Ардуино нано 3.0 , китайская, подключена по юсб , заливаю простой скетч из примеров на мигание L диода, вытаскиваю шнур , перепдключаю программа сбрасывается. Не должен ли скетч храниться в памяти постоянно и куда он девается после переподключения питания, как решить и является это номой без резерва питания?

NeiroN
NeiroN аватар
Offline
Зарегистрирован: 15.06.2013

Что вы понимаете под "программа сбрасывается"? 

Программа должна сбрасываться при переподключении питания: вначале выполнится загрузчик, он подождет несколько секунд начала загрузки прошивки по последовательному порту, а потом запустит имеющуюся программу. Значения пременных не сохраняются.

safriq
Offline
Зарегистрирован: 28.03.2016

Видимо я немного иначе представлял работу этого девайсf . Значит если снали питание, скетч сохраненный удаляется. Питание должно подаваться постоянно.

DIYMan
DIYMan аватар
Offline
Зарегистрирован: 23.11.2015

safriq пишет:
Видимо я немного представлял работу этого девайся иначе. Значит если снали питание, скетч сохраненный удаляется. Питание должно подаваться постоянно.

Вы и сейчас ничего не понимаете ;) Залитый скетч никуда не девается - он как был залит в МК, так там и лежит. При пропадании питания МК не работает - очевидно же ж. При подаче питания управление сначала переходит на загрузчик, который ждёт какое-то время данных из порта (вдруг вы новый скетч хотите залить?), затем - запускает залитый ранее скетч. При этом работа скетча начинается сначала, т.е. с функции setup, потом уже - loop.

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

Описание грубоватое, но смысл передаёт.

safriq
Offline
Зарегистрирован: 28.03.2016

Короч , придется штудировать матчасть. Что и как работает, но в общих чертах понятно.