Загрузка в борду "!!!"

Ардуинщики всех стран - объединяйтесь! В этом форуме, конечно.
Ответить
Аватара пользователя
Ivanoff-iv
Друг Кота
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Загрузка в борду "!!!"

Сообщение Ivanoff-iv »

Есть ардуина 2560, понадобилось побыстрому сделать бегущую строку...
промаялся 3 часа - не работает! виснет при загрузке в железо и всё! кабеля менял, драйвера, среду разной версии... уже быстрее бы без ардуины бы сам всё сделал, но ведь на ардуине же всё проще! :tea:
причем скетчи из интернета грузятся и работают, а построенный на их основе свой - нет!

Секрет оказался прост -
Спойлерв тексте прошивки была последовательность "!!!" - три восклицательных знака подряд, запихиваемых в строковую переменную, вот эта последовательность и вырубала загрузчик на ползагрузки...
как вам грабельки? :kill:
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Реклама
Аватара пользователя
electroget
Друг Кота
Сообщения: 4651
Зарегистрирован: Ср сен 30, 2020 16:51:47
Откуда: РФ

Re: Загрузка в борду "!!!"

Сообщение electroget »

[uquote="Ivanoff-iv",url="/forum/viewtopic.php?p=4440448#p4440448"]как вам грабельки? :kill:[/uquote]
Наверное это какая-то проблема с компилятором.
Реклама
Аватара пользователя
Ivanoff-iv
Друг Кота
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Re: Загрузка в борду "!!!"

Сообщение Ivanoff-iv »

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

Код: Выделить всё

void setup() {
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for native USB port only
  }
  // send an intro:
  Serial.println("send any byte and I'll tell you everything I can about it!!!");
}

void loop() { 
}
сейчас попробовал - не вышло... хотя компилируется без ошибок
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
veso74
Поставщик валерьянки для Кота
Сообщения: 1915
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария
Контактная информация:

Re: Загрузка в борду "!!!"

Сообщение veso74 »

Код работает совершенно нормально:
Если нет Serial, будет будет бесконечный цикл, ничего не делающий.
У меня на 9600 бода/с есть надпис: "send any byte and I'll tell you everything I can about it!!!"

! является отрицанием. 3 раза !!! -> трижды отрицание, а "!!" может быть использован как быстрое преобразование в bool (напр. сasting byte to bool):

Код: Выделить всё

uint8_t x = 8;
bool b;
...
b = !!x;
---
ответ: b = true.
или

Код: Выделить всё

b = (bool)x;
Реклама
Эиком - электронные компоненты и радиодетали
Аватара пользователя
Ivanoff-iv
Друг Кота
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Re: Загрузка в борду "!!!"

Сообщение Ivanoff-iv »

[uquote="veso74",url="/forum/viewtopic.php?p=4440504#p4440504"]! является отрицанием. 3 раза !!! -> трижды отрицание, а "!!" может быть использован как быстрое преобразование в bool (напр. сasting byte to bool):[/uquote] какое отрицание? в данном проекте это это часть текстовой строки...

у тебя работает, а у меня компилируется без ошибок, но в ардуину не лезет, даже прошлый проект не повредился...
но как только оставляю один или два восклицательных знака - всё сразу грузится! :dont_know:
ардуина у меня китайская M.Jduino mega 2560
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Реклама
Аватара пользователя
electroget
Друг Кота
Сообщения: 4651
Зарегистрирован: Ср сен 30, 2020 16:51:47
Откуда: РФ

Re: Загрузка в борду "!!!"

Сообщение electroget »

[uquote="Ivanoff-iv",url="/forum/viewtopic.php?p=4440509#p4440509"]ардуина у меня китайская M.Jduino mega 2560[/uquote]
Ардуина вообще ни при чём. Код генерит компилятор.
Реклама
Аватара пользователя
Ivanoff-iv
Друг Кота
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Re: Загрузка в борду "!!!"

Сообщение Ivanoff-iv »

https://arduino.ru/forum/apparatnye-vop ... sya-sketch
6й пост...

нашел уже когда сам разобрался...
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Аватара пользователя
Фунтик
Собутыльник Кота
Сообщения: 2710
Зарегистрирован: Пт фев 12, 2010 13:47:17

Re: Загрузка в борду "!!!"

Сообщение Фунтик »

В институте, на ВТИП'е, дали с напарником курсач - написать на Турбо Паскале (версию не помню) простенький текстовый редактор с плюшками типа форматирования и прочего... Большая часть пояснительной записки к коду программы начиналась со слов: "Опытным путём в работе компилятора были найдены ошибки:" и дальше пошло-поехало - "в 33 строчке нельзя использовать комментарии со словами "один", "три" и "пять"". В 55 строчке нельзя использовать комментарии на анг. языке, на русском - можно" и тому подобное. А это был первый год с ИБМ ПС персоналками в институте, неопытная преподша сначала не поверила. Обозвала неумёхами и решила показать как надо :)) Сама офигела, когда от наличия определённого комментария зависила удачность компиляции, и по пятёрочке с напарничком мы отхватили.

Так что, как говорил Мюллер - верить нельзя никому.
veso74
Поставщик валерьянки для Кота
Сообщения: 1915
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария
Контактная информация:

Re: Загрузка в борду "!!!"

Сообщение veso74 »

Хм, странные дела. Здесь с "!!!" все в порядке.
---
Попробуйте "!!!" с английской клавиатуры, а не той, которую используете (напр. RU).
Просто предполагаю, нет причин, по которым с !!! не должно работать.
Вложения
Untitled-1.jpg
(75.4 КБ) 50 скачиваний
Аватара пользователя
BOB51
Друг Кота
Сообщения: 15583
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Re: Загрузка в борду "!!!"

Сообщение BOB51 »

Возможно разные версии IDE и самой "платформы".
Одна из ранее обнаруженных ошибок касалась обязательного включения перед началом загрузки программы монитора последовательного порта (если в программе используется тот же порт, что и для загрузки).
На сегодня из версий IDE актуальны:
для ХР х32
1.8.9
Для 7 ки/десятки х64
1.8.19
и
2.1.0
:roll:
Аватара пользователя
Ivanoff-iv
Друг Кота
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Re: Загрузка в борду "!!!"

Сообщение Ivanoff-iv »

Пробовал на 2х компьютерах с 3мя разными версиями ИДЕ (но с одной и той-же платой) результат один = зависон.
Проблема уже не актуальна (умерив эмоциональность обошелся одним восклицательным знаком), пишу просто как предупреждение для ардуинщиков, вдруг кто ещё на эти грабли наступит. (проблема локализована - виноват загрузчик зашитый в плате.)
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
veso74
Поставщик валерьянки для Кота
Сообщения: 1915
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария
Контактная информация:

Re: Загрузка в борду "!!!"

Сообщение veso74 »

Очевидно, что ваше устройство и загрузчик очень старые. Эта проблема была исправлена с новым загрузчиком, ответ в 2013-15 году.
https://github.com/arduino/Arduino/issues/3669
https://github.com/arduino/Arduino/issues/1594
Аватара пользователя
Ivanoff-iv
Друг Кота
Сообщения: 7077
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Re: Загрузка в борду "!!!"

Сообщение Ivanoff-iv »

Да, платка куплена на алиэкспресс в далеком 2016 году...
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Ответить

Вернуться в «Arduino»