Ардуино что это
Re: Ардуино что это
С чего ему разбухать, если под ардуиновской средой лежит GCC -- один из лучших оптимизирующих компиляторов для языка С/С++ и самый лучший среди бесплатных. То, что библиотеки порой тяжеловаты, так и функционал, извините, не моргание светодиодом. Не нравятся библиотеки, пишите свои. Ардуина тут никак и никого ограничить не в состоянии. Особо беспокоящимся "развитием", могу предложить сразу начать со стека протоколов TCP/IP. Развиваться без остановки придется до самого смертного одра, независимо от возраста на сегодняшний день.
Re: Ардуино что это
Я один раз написал под ардуину код
После этого часа три выяснял почему оператор не выполняется.
Компилятор, пропускающий такие очевидные ошибки разработку как то не ускоряет.
Код: Выделить всё
case(...)
оператор;
{
...
}После этого часа три выяснял почему оператор не выполняется.
Компилятор, пропускающий такие очевидные ошибки разработку как то не ускоряет.
- DronVolk
- Встал на лапы
- Сообщения: 109
- Зарегистрирован: Чт сен 03, 2015 15:52:10
- Откуда: Сибирский федеральный округ
Re: Ардуино что это
Андрей СШ писал(а):пропускающий такие очевидные ошибки разработку как то не ускоряет.
Компилятор тут не причем. на си можно написать одно и тоже разными способами.
B@R5uk писал(а):то надо хорошо разбираться в вопросе
Здесь имеется в виду то, что человек уже отдаленно знаком с механизмами мк.
быстрее написать вызов функции чем сидеть и подсчитывать биты я про это.
я повелитель электронов! Но иногда появляются электроны бунтари и делают, что им вздумается, например, прокладывают новые пути движения...
"Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного." Альберт Эйнштейн.
"Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного." Альберт Эйнштейн.
Re: Ардуино что это
Я без кварца запускаю поделия, только частоту ставлю 8 обычно фьюзами. Даже в готовых конфигах есть такие варианты плат или можно свой создать на нужную частоту. Собственно и ардуиной то готовой пользуюсь нечасто, чаще девайс на макетке с подключенным USBAsp и лью без загрузчика... вот как то так привык к ардуине.
"Вся военная пропаганда, все крики, ложь и ненависть исходят от людей, которые на эту войну не пойдут !" / Джордж Оруэлл /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
"Война - это,когда за интересы других,гибнут совершенно безвинные люди." / Уинстон Черчилль /
Re: Ардуино что это
Компилятор таки смущается

Код: Выделить всё
int maint(void)
{
int a = 0;
switch (a) {
case 0
asm volatile("nop");
{
asm volatile("nop");
}
break;
}
return 0;
}

- DronVolk
- Встал на лапы
- Сообщения: 109
- Зарегистрирован: Чт сен 03, 2015 15:52:10
- Откуда: Сибирский федеральный округ
Re: Ардуино что это
все что в фигурных скобках изолированно от внешнего мира но внешний мир открыт для содержимого. (надеюсь понятно)
я повелитель электронов! Но иногда появляются электроны бунтари и делают, что им вздумается, например, прокладывают новые пути движения...
"Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного." Альберт Эйнштейн.
"Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного." Альберт Эйнштейн.
Re: Ардуино что это
Извиняюсь перепутал ключевые слова. Код был приблизительно такой
И компилировался молча. Сейчас баг уже устранили.
Код: Выделить всё
switch(a)
digitalWrite(led, LOW);
{
case 0: digitalWrite(led, HIGH);
}И компилировался молча. Сейчас баг уже устранили.
- DronVolk
- Встал на лапы
- Сообщения: 109
- Зарегистрирован: Чт сен 03, 2015 15:52:10
- Откуда: Сибирский федеральный округ
Re: Ардуино что это
Не вижу здесь ошибки (в смысле которую должен увидеть компилятор).
Это уже логическая ошибка человека а не компилятора. Может вам нравится когда компилятор загоняет в жесткие рамки, а мне нет.
Это уже логическая ошибка человека а не компилятора. Может вам нравится когда компилятор загоняет в жесткие рамки, а мне нет.
я повелитель электронов! Но иногда появляются электроны бунтари и делают, что им вздумается, например, прокладывают новые пути движения...
"Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного." Альберт Эйнштейн.
"Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного." Альберт Эйнштейн.
Re: Ардуино что это
Ну речь и шла об "очевидных ошибках"DronVolk писал(а)::))) он тебе говорит что после кейса должно идти двоеточие.
Новая версия кода никак не могла молча компилироваться. Она опять синтаксически неверна, согласно стандартам Си.
Код: Выделить всё
void nop(void)
{
asm volatile("nop");
}
int maint(void)
{
int a = 0;
switch (a)
nop();
{
case 0: nop();
}
return 0;
}

Конечно же проще всего сказать "пофиксили". Будем проверять в той версии, в которой якобы молча компилировалось? Или слив засчитан?
UPD: Блять, как это я набрал функцию maint
- DronVolk
- Встал на лапы
- Сообщения: 109
- Зарегистрирован: Чт сен 03, 2015 15:52:10
- Откуда: Сибирский федеральный округ
Re: Ардуино что это
это скорее зависит не от версии, а от флагов строгости. (команда --help)
компилятор может тупо убрать все что в свичи если там нет кейсов или может отругать прогера флаги наше все))))
компилятор может тупо убрать все что в свичи если там нет кейсов или может отругать прогера флаги наше все))))
я повелитель электронов! Но иногда появляются электроны бунтари и делают, что им вздумается, например, прокладывают новые пути движения...
"Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного." Альберт Эйнштейн.
"Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного." Альберт Эйнштейн.
Re: Ардуино что это
Внимательно прочитай вывод компилятора. Вообще не тот случай.
Есть кейс без свитча, это нарушает любой стандарт си.
В дополнение к твоему, в мейкфайле ардуины никаких стриктов не используется. Вот какой-то ардуиновский мейкфайл: http://shallowsky.com/software/arduino/ ... rduino-0.8
Кстати, --help -v, если уж на то пошло
Есть кейс без свитча, это нарушает любой стандарт си.
В дополнение к твоему, в мейкфайле ардуины никаких стриктов не используется. Вот какой-то ардуиновский мейкфайл: http://shallowsky.com/software/arduino/ ... rduino-0.8
Кстати, --help -v, если уж на то пошло
Re: Ардуино что это
hybroid, ну прокололись вы один раз на моей схеме, с кем не бывает. Теперь будете до скончания интернета ходить за мной по форуму и обижаться?
Я всё таки совсем не дружу с Си - второй раз тоже код с ошибкой запостил.
Проблема выглядела так:
Вот эта фигня молча компилируется в Arduino 1.0.1, хотя должно быть предупреждение "недостижимый код".
Я всё таки совсем не дружу с Си - второй раз тоже код с ошибкой запостил.
Проблема выглядела так:
Код: Выделить всё
switch(a)
{
digitalWrite(led, LOW);
case 0: digitalWrite(led, HIGH);
}
Вот эта фигня молча компилируется в Arduino 1.0.1, хотя должно быть предупреждение "недостижимый код".
- DronVolk
- Встал на лапы
- Сообщения: 109
- Зарегистрирован: Чт сен 03, 2015 15:52:10
- Откуда: Сибирский федеральный округ
Re: Ардуино что это
Я когда учился программировать и не такие конструкции скармливал компилятору и он это собирал. Вопрос лишь в том как это будет исполнено))) здесь четко прослеживается логическая ошибка и компилятор тут ни причем потому что ему и не такие костыли скармливают а он обязан это собрать.
я повелитель электронов! Но иногда появляются электроны бунтари и делают, что им вздумается, например, прокладывают новые пути движения...
"Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного." Альберт Эйнштейн.
"Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного." Альберт Эйнштейн.
Re: Ардуино что это
Ну вот я перешёл с Arduino на компилятор, который такую конструкцию принципиально не компилирует, и освоение MK пошло значительно быстрее.
Причём слово "принципиально" тут не для связки предложения. Это именно ключевой принцип: никогда не компилировать, то что не выражено однозначно и отчётливо.
Причём слово "принципиально" тут не для связки предложения. Это именно ключевой принцип: никогда не компилировать, то что не выражено однозначно и отчётливо.
Re: Ардуино что это
У тебя мания приследования
А мсье знает, что в ардуино используется gcc? Перешёл с gcc на gcc и всё поменялось?
Или, что ещё хуже, не на gcc
Весь мир пользуется им не в одной сфере деятельности далеко не первый год, а он, оказывается, не годный..
А мсье знает, что в ардуино используется gcc? Перешёл с gcc на gcc и всё поменялось?
- DronVolk
- Встал на лапы
- Сообщения: 109
- Зарегистрирован: Чт сен 03, 2015 15:52:10
- Откуда: Сибирский федеральный округ
Re: Ардуино что это
hybroid писал(а):А мсье знает, что в ардуино используется gcc? Перешёл с gcc на gcc и всё поменялось?
Мусье а вы не в курсе что в Ardunio C++ используется, а он говорит про Cи это огромная разница.
я повелитель электронов! Но иногда появляются электроны бунтари и делают, что им вздумается, например, прокладывают новые пути движения...
"Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного." Альберт Эйнштейн.
"Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного." Альберт Эйнштейн.
Re: Ардуино что это
В чём? Вообще никакой разницы в данном случае.
А конструкция выше не запрещена ISO9899. Даже круче, там вот такой пример фигурирует:
UPD: у нас же всегда так.. Стандарты мы не читаем, справку к компилятору обычно тоже не читаем, пишем с учётом того, что компилятор за нас проверит
А не получилось - значит компилятор говно. А gcc, между тем, хоть каким-то стандартам соответствует. А в чём не соответствует - оговорено, но это тоже никто не читает.
Как много людей, интересно, запустив Arduino IDE, читали вообще про компилятор..
Кстати, вот это - одна из причин торможения развития при использовании Arduino. Но виновата не плата. Плата ничо такая, но была нацелена в первую очередь на аудиторию "домохозяек". Результат - виден везде, даже на этом форуме.
А конструкция выше не запрещена ISO9899. Даже круче, там вот такой пример фигурирует:
Код: Выделить всё
switch (expr)
{
int i = 4;
f(i);
case 0:
i=17; /* falls through into default code */
default:
printf("%d\n", i);
}UPD: у нас же всегда так.. Стандарты мы не читаем, справку к компилятору обычно тоже не читаем, пишем с учётом того, что компилятор за нас проверит
Как много людей, интересно, запустив Arduino IDE, читали вообще про компилятор..
Кстати, вот это - одна из причин торможения развития при использовании Arduino. Но виновата не плата. Плата ничо такая, но была нацелена в первую очередь на аудиторию "домохозяек". Результат - виден везде, даже на этом форуме.
Re: Ардуино что это
Ну соответствует стандарту, а дырка всё равно есть.
Из этого следует только то, что дырка в стандарте.
Я конечно понимаю, что стандарт там писали боги программирования и они никогда не допускают таких глупых ошибок, но Arduino платформа не для них.
Из этого следует только то, что дырка в стандарте.
Я конечно понимаю, что стандарт там писали боги программирования и они никогда не допускают таких глупых ошибок, но Arduino платформа не для них.
Re: Ардуино что это
Для доказательства, что ардуино -- дерьмо, пришлось дерьмом измазать один из лучших компиляторов, стандарт языка Си и "богов программирования". Даже интересно, до чего еще могут дотянутся руки в фекалиях ради доказательства недоказуемого.
Re: Ардуино что это
Вот уж действительно, ну не винить же дыру в голове
И ни капли смущения, что "дыра" в стандарте документирована, с описанием и примером использования, с указанием всех "зачем" и "почему". Обычно люди эти дыры называют "возможности"
И ни капли смущения, что "дыра" в стандарте документирована, с описанием и примером использования, с указанием всех "зачем" и "почему". Обычно люди эти дыры называют "возможности"