Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Тема закрыта

Re: In vino veritas

Чт дек 07, 2017 09:42:38

Кнопы...
http://img.radiokot.ru/files/20529/1g6cmrs760.JPG
весьма вкусненько...
:hunger:
Набросал шпоргалку-обзорнолистик для СИ ардуинкина, чтоб оперативно ориентироваться в возможных к применению командах/функциях/директивах...
sPlan - [K__2017_шпораСик.spl7].pdf
(290.25 KiB) Скачиваний: 183

кто чего может матюкнутся по данному листку? (упущено, неверно или чего иное)...
:roll:

Re: In vino veritas

Чт дек 07, 2017 17:50:13

Кнопы - это кнопки что-ли? Что-то я их не вижу на снимке. В документе поправьте spelling arrAy.

Re: In vino veritas

Чт дек 07, 2017 18:03:18

"Элементы языка С" довольно бестолково перечислены, просто по алфавиту.
"применяется только в библиотеках диалекта С конкретных мк" - ???

Re: In vino veritas

Пт дек 08, 2017 09:27:10

arkhnchul
Это набросок "возможных инструментов".
Перечень элементов Си взят в алфавитном порядке для простоты сравнения с различными источниками и с материалом на сайте
https://www.arduino.cc/reference/en/
"применяется только в библиотеках диалекта С конкретных мк" - в непосредственном перечне доступных к использованию на вкладке сайта оные отсутствуют, НО могут быть применены при создании библиотек для конкретного МК (ежли закопаться в дебри основ компиляторов, задействованных в среде, по мере освоения/использования).
Видимо связано с отличиями для разных семейств МК или с меньшей частотой применения.
Компенсируется наличием встроенных функций в правой половине "шпоргалки".
В частности весьма развитым функционалом побитовых операций как с портами так и с "просто переменными".
А struct по всей вероятности конфликтует по синтаксису с правилами для подключаемых файлов - обращение к элементу структуры аналогично обращению к функции класса (те пишутся как объекты СИ++).
В принципе для начального обзора имеющихся в арсенале элементов вроде достаточно (для относительно "редковстречаемых" элементов для "крутых платок" я в общий перечень не внес из-за их "эксклюзива" - разделы касающиеся встроенных функций для "USB" и "Zero, Due & MKR Family").
А уже для применения уточняем написание по встроенной в IDE онлайн помощи (та работает автономно от инета).
Благо при компе с двумя мониторами это не так нервоторепно...
Табличка-шпоргалка по аналогии ранее применяемых для систем команд ассемблера - проще сориентироваться что из имеющегося в наличии удобнее применить. Со временем потребления (с обязательными перерывами в месяц-два) обрастает необходимыми изменениями/дополнениями.
:roll:

Ser60
То емкостная кнопа/датчик на основе TTP223. Работает весьма приятненько.
:hunger:
Относительно string() и arrey - бралось для анализа "старая публикация" со вкладки
https://www.arduino.cc/reference/en/
сейчас там и раскладку справки изменили (ранее совсем "каша" была) и несколько расширили разделы, в частности Data Types...
По мере потребления IDE и использования функционала наверняка и свою шпору буду корректироавть.
:write:

:beer:

Re: In vino veritas

Пт дек 08, 2017 14:22:25

"применяется только в библиотеках диалекта С конкретных мк" - в непосредственном перечне доступных к использованию на вкладке сайта оные отсутствуют, НО могут быть применены при создании библиотек для конкретного МК (ежли закопаться в дебри основ компиляторов, задействованных в среде, по мере освоения/использования)

не встречал компиляторов, не знающих о enum, struct или union. Это часть древнего стандарта языка :dont_know: inline в общем случае может не быть, он появился как стандартный в C99, но множество компиляторов (и используемый ардуинской средой gcc в том числе) имело его и до этого.
А struct по всей вероятности конфликтует по синтаксису с правилами для подключаемых файлов - обращение к элементу структуры аналогично обращению к функции класса (те пишутся как объекты СИ++)

нет. У нас жеж статическая типизация, и компилятор однозначно знает, с чем работает - со структурой или объектом класса.

Re: In vino veritas

Пт дек 08, 2017 15:03:01

arkhnchul
Спасибо за замечания!
:beer:
Те директивки
потому и отмечены как существующее, но... "в официозе не указанное".
Почему "прародители" не указали - можно только догадываться...
Интересно, что народ , больше с данным предметом сталкивающийся подсказать может - на какие моменты обратить внимание.
:dont_know:

То, что поддерживается в библиотеках - видел, но сам пока не использовал непосредственно в основном тексте.
Непосредственно структуру, как элемент программы также надо хош к чему-то полезному приспособить, чтоб потренироваться и ощутить "как оно работает". А с учетом того, что ардуино IDE рассчитана на "проверку макетом" (работа без симулятора/дебаггер-отладчика) надо весьма грамотно ту задачу ставить и иметь контрольный вариант для абсолютной проверки.
Вобщемс... появится чего практически наработанного - буду менять/дополнять "по мере поступления и проверки".
:roll:

Пока из "абсолютно туманного" в запасе остался только вопрос об обращении с понятием
Communication -> stream
тоже ждет соответствующего применения/проекта...

С ардуинкой интересные метаморфозы -
начинающие на простейших проектах явно частенько "дуремарятся",
более "солидные товарищи" пишут библиотеки-вкладки в максимальном "самопонимании" - и не всегда по правилам, заявленным в описании той среды. Более детальных описаний НЕТ - видимо исходя из принципа "или пользователь примитив или АСС - зачем время зря тратить". А возможности в той ардуине таки весьма много...
Учитывая "внешний негатив" приходится самому прорабатывать.
:write:

Re: In vino veritas

Пт дек 08, 2017 15:35:40

Вот жеж мракобес. Сказано же и не раз - изучай С а не "С для авр"...

Re: In vino veritas

Пт дек 08, 2017 15:40:18

Почему "прародители" не указали - можно только догадываться...

скорее всего, не видели смысла в тысячный раз подробно описывать именно язык, а не их собственные библиотеки и среду :dont_know: про С или С++ информации и так вагон в любых формах. Это ж не ассемблер, который уникален для каждого семейства контроллеров.

Re: In vino veritas

Пт дек 08, 2017 19:04:21

А возможно по причине подмены этих директив более приспособленными к специфике МК функциями-заготовками (левая часть таблицы и дополнения на https://www.arduino.cc/reference/en/)...
Основной набор директив там ведь дополнен целым набором функций-заготовок, включающих в себя типовые рутинные задачи управления МК...
:dont_know:
Попробую в следующих проектах разные варианты "на исполнимость".
:roll:
Для детального анализа встроенных функций и набора библиотек у меня пока опыта маловато, а народ посолиднее вникать в этот материал особого желания/сил уже не имеет.
:(
Вопрос более не в минимум начального СИ упирается, а в смесь библиотек - ими можно быстро научится пользоваться, но понять смысл и детально проработать нужно весьма много времени. На данный момент приоритет за набором навыков создания своих библиотечек/вкладных файлов и "поосмотрется" не влазя в дебри.
:beer:

Re: In vino veritas

Пт дек 08, 2017 20:51:51

А возможно по причине подмены этих директив более приспособленными к специфике МК функциями-заготовками

ну каких "директив" :facepalm: Это элементы самого языка, они извне не меняются, тут вам не лисп.
Для детального анализа встроенных функций и набора библиотек у меня пока опыта маловато, а народ посолиднее вникать в этот материал особого желания/сил уже не имеет.

а что там анализировать?) фунцкии как функции, классы как классы. Делают то, что в их описании написано.
Вопрос более не в минимум начального СИ упирается

именно в него. При понимании языка несколько больше начального минимума все становится резко понятнее.

Re: In vino veritas

Пт дек 08, 2017 20:57:03

BOB51 писал(а):А struct по всей вероятности конфликтует по синтаксису с правилами для подключаемых файлов - обращение к элементу структуры аналогично обращению к функции класса
Завязывайте с ардуиной. Ничему хорошему она не научит.
Лучше возьмите книжку для чайников типа "Д. Стефан - C++ для чайников" и прочитайте ее внимательно чтобы понять в чем отличие между структурами и классами и почему они не конфликтуют.

Re: In vino veritas

Пт дек 08, 2017 21:07:07

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


Окстись блаженный. Изучи С ,а там и "магические либы" будешь на раз понимать и всю ущербность ардуньи осознаешь вместе с бесполезностью плюсов в эмбедде.

Вообщем он уже уперся в ограниченность аурдуньи, скоро придет озарение...

Re: In vino veritas

Пт дек 08, 2017 21:25:30

бесполезностью плюсов в эмбедде

я бы не стал так категорично заявлять бесполезность плюсов) Оголтелое ООП не нужно, да, но многие фичи C++ (шаблонные типы, перегрузка операторов и функций, куски стандартной библиотеки - контейнеры, умные указатели, pair) были бы довольно удобны в прикладных задачах.

Re: In vino veritas

Сб дек 09, 2017 10:04:58

Неплохой шум...
8)
Однако кроме замечаний arkhnchul остальное есть чистый флуд "ни о чем".
Разница в подходах и понимании вопросов естественно весьма отличается.
Литература всяческого "для чайников" имеет те же проблемы, что и указанное ранее.
Либо примитив "для дятла" либо сверхнавороченные трактаты. Авторы практически всегда исходят из некоего начального уровня потребителя и из того, что потребитель ИСКЛЮЧИТЕЛЬНО фанат ДАННОГО предмета. Я же базируюсь на схемотехнике и имеющемся опыте работ с ассемблером (который также не слишком легко прояснять было, а часть материалов до сих пор не проработана на детальном уровне за "временной невостребованностью" и избыточными для любительского потребления возможностями). И отказываться от имеющегося не намереваюсь - наоборот планируется "мягкое вползание с взаимодополнением" плюс комбинированная схемотехника из прикладных обработчиков данных с центральным ядром "абстрактных задач".
8)

arkhnchul
За не совсем корректную терминологию извиняюсь...
Однако в отношении ардуино-IDE ... там ведь "смесь"... может удобнее всю эту номенклатуру из элементов языка и базовых функций "инструментами" назвать?
С точки зрения "ассемблериста" у "элементов языка СИ" все же несколько подвидов "директив/команд" и собственно операций с данными/переменными....
:roll:

Re: In vino veritas

Сб дек 09, 2017 14:58:17

Однако в отношении ардуино-IDE ... там ведь "смесь"...

смесь чего с чем?
может удобнее всю эту номенклатуру из элементов языка и базовых функций "инструментами" назвать?

нет, нет, нет и нет. Язык отдельно, библиотеки отдельно.
С точки зрения "ассемблериста"

вы тут это прекратите безобразие!)
у "элементов языка СИ" все же несколько подвидов "директив/команд"

да, но опять же: есть язык, и есть все остальное. К слову, в языке как таковом вообще ни одной функции нет.

ЗЫ
Либо примитив "для дятла" либо сверхнавороченные трактаты. Авторы практически всегда исходят из некоего начального уровня потребителя и из того, что потребитель ИСКЛЮЧИТЕЛЬНО фанат ДАННОГО предмета.

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

Re: In vino veritas

Сб дек 09, 2017 15:36:11

Так это же не "чистый СИ", а доработка - потому в референсе у ардуино и указаны как элементы языка СИ так и отдельный раздел наиболее употребимых функций, как самостоятельная группа "псевдокоманд".
Собственно речь не о чистоте СИ (на котором можно самостоятеьное дополнение/библиотечку для каждого типа применяемых там МК написать), а об удобстве использования уже заготовленного производителем материала.
У ардуино IDE два типа функций
- одни на основе "стандартных" библиотек - те подключаются пользователем как принято "лапками",
и
библиотеки, на которых основывается действие расширенных "инструментов" и которые автоматически по умолчанию подключаются в проект.
Для пользователя вобщем безразлично то, на основе чего они созданы - главное правильно и с наибольшим эффектом ими воспользоваться и иметь представление об их существовании.
Получается что авторы ардуино сделали "скрытое для пользователя" прикладное расширение "системы команд" без прямого указания/ссылок на формирующие их (эти функции) библиотеки.
По факту это функции подключаемых библиотек, а по значению/применяемости это псевдокоманды/псевдодирективы частного применения. Термин команда/директива не подходит так как это основа все же Сишная, а термин функция - так нет явного указания на библиотеки и их подключение...
Все же лучше нейтральное "ИНСТРУМЕНТЫ" в конкретной IDE...
:roll:

А уже по росту аппетита/сложности задач можно и глубже копнуть.
:write:
Насчет ассемблера "в чистом виде" и того слэнга, что для вставок в СИ используется...
Разница все-таки весьма чувствительна...
В "чистом виде" - свобода действий и владения ресурсом значительно больше.
При автоматическом повышении времени написания сложных прожек.
Зато можно из СИ некоторы приемы "позаимствовать"...
8)
Надоть какую-нибудь самоделку для тренажа замутить... теория-теорией, а практиковаться таки....
"по мере поступления средств и вдохновения" прихходится...
:beer:

Re: In vino veritas

Сб дек 09, 2017 16:44:07

Так это же не "чистый СИ"

там C++
а доработка

нет :dont_know: ардуинщики, к счастью, не настолько съехали с ума, чтобы менять язык и пилить свой компилятор вместо avr-gcc
У ардуино IDE два типа функций
- одни на основе "стандартных" библиотек - те подключаются пользователем как принято "лапками",
и библиотеки, на которых основывается действие расширенных "инструментов" и которые автоматически по умолчанию подключаются в проект.

на самом деле между ними нет никакой заметной разницы. На такую идиотскую систему организации библиотек в arduino IDE плюются примерно все, кто работал не только исключительно с ней.
По факту это функции подключаемых библиотек, а по значению/применяемости это псевдокоманды/псевдодирективы частного применения.

забудьте о "значении/применяемости". Там все (почти) - функция или метод класса, который тоже функция.
Все же лучше нейтральное "ИНСТРУМЕНТЫ" в конкретной IDE...

чем лучше-то? Тем, что вносит ненужную путаницу в понятия?

Re: In vino veritas

Сб дек 09, 2017 20:56:48

Снова блаженный слышит только себя и глаголитЪ на только ему понятном лепетании.
Цирк да и только...

Re: In vino veritas

Ср дек 13, 2017 17:35:42

Весьма интересный вариант компилятора ассемблера с подачи oleg110592
http://john.ccac.rwth-aachen.de:8000/as/
(первично возникло тут viewtopic.php?p=3258380#p3258380 )
скачал "на перечитать"...
:hunger:

Re: In vino veritas

Ср дек 13, 2017 21:17:13

BOB51, универсальное всегда есть зло.
Надеюсь, объяснять что есть "универсальное" не нужно.
Тема закрыта