Обнуляется переменная

Был готовый скетч. Все примитивно и все работало. Сегодня компилирую, заливаю, не работает. Пытаюсь разобраться. Если дополнительно вывожу переменную в ком порт, то все работает. Убираю сериалпринт и все. Такое ощущение, что переменная обнуляется, если ее не выводить в порт. Отладчика в ардуино нет, проверить догадку не могу.

Между прошлым разом и сегодня я установил ардуино 2.0.4 поверх 1.8.5.
Подумал, что дело в этом. Удалил все. Удалил остатки в програмфалес и документах. После этого установил 1.8.5 заново. Не помогло.

Код примитивный, я сейчас в атмелстудио перепишу. Но очень хочется понять в чем дело.

Мы с вами. Морально. Нам тоже очень хочется понять

3 лайка

Не надо переписывать. Лучше выложите сюда.

Это глупость - считать что в атмелстудии код заведомо лучше, чем в ардуино. Когда человек не умеет программировать - у него и в атмелстудии получится полный треш.

4 лайка

“Сериалпринт” - это задержка. Нередко “железо” реагирует на такие задержки. Поставьте вместо Seria.print() - delay() и попробуйте.
Ну а вообще - есть еще оптимизатор, который вычищает неиспользуемые переменные. Отправка переменной на печать - это ее использование.
А еще переменную может обнулять выход за границы массива. А использование “сериалпринт” приводит к тому, что теперь обнуляется другая переменная, которую Вы еще не заметили.
Вариантов - масса.

2 лайка

ТС хоть бы фото выложил. Очень сложно без фото диагноз ставить

Зачем нам фото лица ТС? :upside_down_face:

Фото - это как-то так?
image

Бесит меня эта среда разработки отсутствием отладчика. Откопал старый ноутбук, поставил на него ардуино 1.8.5. Скомпилировал - работает. Что-то где-то оптимизируется.

Там есть отладчик. Есть подсветка переменных. Есть настройки компилятора. И если код работал, то при повторной компиляции он продолжит работать.

Если бы я знал где сфоткать, я бы непременно сфоткал. Но там настроек то и нет. Судя по тому, что установленная на “чистую” машину ардуина работает, где-то я не все удалил.

То есть выкладывать код вы не собираетесь? Тогда нафига приходили?
Спрашивать совета по программированию, не показывая код - издевательство над форумом.

Я спрашивал тех кто понимает, а не тех кто пишет много. Сам код к сути вопроса не относится.

Т.е. проблема в коде, но код к сути вопроса не относится?

У нас тут хрустальные шары в техобслуживание позабирали, гадать не на чем

он прав, проблема не в коде.
Проблема в Валере

Когда человек уверен, что в проблех с его программой виноваты кто угодно - “китайские” платы, неверная версия ИДЕ, отсутствие отладчика - но только не его код - это диагноз.

Отож, нам старым хиромантам и звездочётам руки показывай )))

Ваше селюковская фамильярность неуместна.

Ведите себя разумно - заслужите вежливое отношение.

Доска есть доска. Больше не пишите мне.

Валери… А я могу Вам писать БОЛЬШЕ?

А я ещё почти ничего не писал, можно написать?