Разное певедение платы Nano при заливки разными версиями IDE

zebox
Offline
Зарегистрирован: 08.02.2015

Всем привет!

Народ подскажите с чем может быть связана странность работы Arduino Nano (разные версии и платы).

Использую стандартную схема для подключения кнопки с подтягивающим резистором INPUT_PULLUP. Если я заливаю скетч в плату IDE 1.0.6 - то все работает как нужно. Отправляю другому человеку и он заливает через IDE 1.8.5. - при нажатии на кнопку плата перезагружается.

В чем может быть причина?

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

Ваш другой человек кнопку через зад подключил.

zebox
Offline
Зарегистрирован: 08.02.2015

Установил у себя 1.8.5  - Ситуация аналогичная.

Заливаю через 1.0.6 - ОК. Через 1.8.5. - Х...р

Уже пробовал разные платы UNO, MEGA, NANO - 3 шт. На всех платах одинаково (1.0.6 работает, 1.8.5. нет).

Понятно, что можно "положить" на 1.8.5.  и лить через 1.0.6. Но причину хотелось бы понять...

b707
Offline
Зарегистрирован: 26.05.2017

zebox пишет:

Установил у себя 1.8.5  - Ситуация аналогичная.

Заливаю через 1.0.6 - ОК. Через 1.8.5. - Х...р

напишите максимально короткий скетч, только с кнопкой. Посмотрите, будет ли эффект. Если да выложите сюда.

Если нет - значит ыиновата не кнопка (что более вероятно)

zebox
Offline
Зарегистрирован: 08.02.2015

b707 пишет:

напишите максимально короткий скетч, только с кнопкой. Посмотрите, будет ли эффект. Если да выложите сюда.

Если нет - значит ыиновата не кнопка (что более вероятно)

Спасибо Вам добрый человек. Дело было в простом:

 

boolean arr[2];
....

arr[2]=true;
.....

))))

Все заработало!

kalapanga
Offline
Зарегистрирован: 23.10.2016

zebox пишет:

Спасибо Вам добрый человек. Дело было в простом:

 

boolean arr[2];
....

arr[2]=true;
.....

))))

Все заработало!

Ну и что за кусок Вы привели? Что не так-то было? От версии IDE что-то зависит или нет? 

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

kalapanga пишет:
Что не так-то было?

Распашка памяти.

kalapanga пишет:
От версии IDE что-то зависит или нет?

Скорее от версии и/или релиза и/или опций компилятора. В одном случае "распаханная" память была пустой и потому не критично, а в другом - там было что-то нужное, вот всё и сломалось.

 

qwone
qwone аватар
Offline
Зарегистрирован: 03.07.2016

zebox пишет:

boolean arr[2];// создаются 2 ячейки arr[0],arr[1]
....

arr[2]=true; // а теперь пихаем в третью и жалуемся на компилятор.
.....

Это что за херня написана. Открываем учебник Си и проверяем. 

kalapanga
Offline
Зарегистрирован: 23.10.2016

Чёрт, у самого видать под вечер глаз мыльный. Границу массива-то и не заметил. Бывает.

zebox
Offline
Зарегистрирован: 08.02.2015

Да проблема была именно в границах массива. Просто цикл падал и перегружал плату при заливке через 1.8.5. 

А при заливке через 1.0.6 -значение элемента массива было случайным (я хз почему так, но факт), что тоже не верно, но цикл продолжался. Наверняка дело в параметрах компилятора для разных версий IDE.

Всем спасибо!