arkhnchul Это набросок "возможных инструментов". Перечень элементов Си взят в алфавитном порядке для простоты сравнения с различными источниками и с материалом на сайте https://www.arduino.cc/reference/en/ "применяется только в библиотеках диалекта С конкретных мк" - в непосредственном перечне доступных к использованию на вкладке сайта оные отсутствуют, НО могут быть применены при создании библиотек для конкретного МК (ежли закопаться в дебри основ компиляторов, задействованных в среде, по мере освоения/использования). Видимо связано с отличиями для разных семейств МК или с меньшей частотой применения. Компенсируется наличием встроенных функций в правой половине "шпоргалки". В частности весьма развитым функционалом побитовых операций как с портами так и с "просто переменными". А struct по всей вероятности конфликтует по синтаксису с правилами для подключаемых файлов - обращение к элементу структуры аналогично обращению к функции класса (те пишутся как объекты СИ++). В принципе для начального обзора имеющихся в арсенале элементов вроде достаточно (для относительно "редковстречаемых" элементов для "крутых платок" я в общий перечень не внес из-за их "эксклюзива" - разделы касающиеся встроенных функций для "USB" и "Zero, Due & MKR Family"). А уже для применения уточняем написание по встроенной в IDE онлайн помощи (та работает автономно от инета). Благо при компе с двумя мониторами это не так нервоторепно... Табличка-шпоргалка по аналогии ранее применяемых для систем команд ассемблера - проще сориентироваться что из имеющегося в наличии удобнее применить. Со временем потребления (с обязательными перерывами в месяц-два) обрастает необходимыми изменениями/дополнениями.
Ser60 То емкостная кнопа/датчик на основе TTP223. Работает весьма приятненько.
Относительно string() и arrey - бралось для анализа "старая публикация" со вкладки https://www.arduino.cc/reference/en/ сейчас там и раскладку справки изменили (ранее совсем "каша" была) и несколько расширили разделы, в частности Data Types... По мере потребления IDE и использования функционала наверняка и свою шпору буду корректироавть.
Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей.
"применяется только в библиотеках диалекта С конкретных мк" - в непосредственном перечне доступных к использованию на вкладке сайта оные отсутствуют, НО могут быть применены при создании библиотек для конкретного МК (ежли закопаться в дебри основ компиляторов, задействованных в среде, по мере освоения/использования)
не встречал компиляторов, не знающих о enum, struct или union. Это часть древнего стандарта языка inline в общем случае может не быть, он появился как стандартный в C99, но множество компиляторов (и используемый ардуинской средой gcc в том числе) имело его и до этого.
А struct по всей вероятности конфликтует по синтаксису с правилами для подключаемых файлов - обращение к элементу структуры аналогично обращению к функции класса (те пишутся как объекты СИ++)
нет. У нас жеж статическая типизация, и компилятор однозначно знает, с чем работает - со структурой или объектом класса.
Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре.
Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств.
Те директивки потому и отмечены как существующее, но... "в официозе не указанное". Почему "прародители" не указали - можно только догадываться... Интересно, что народ , больше с данным предметом сталкивающийся подсказать может - на какие моменты обратить внимание.
То, что поддерживается в библиотеках - видел, но сам пока не использовал непосредственно в основном тексте. Непосредственно структуру, как элемент программы также надо хош к чему-то полезному приспособить, чтоб потренироваться и ощутить "как оно работает". А с учетом того, что ардуино IDE рассчитана на "проверку макетом" (работа без симулятора/дебаггер-отладчика) надо весьма грамотно ту задачу ставить и иметь контрольный вариант для абсолютной проверки. Вобщемс... появится чего практически наработанного - буду менять/дополнять "по мере поступления и проверки".
Пока из "абсолютно туманного" в запасе остался только вопрос об обращении с понятием Communication -> stream тоже ждет соответствующего применения/проекта...
С ардуинкой интересные метаморфозы - начинающие на простейших проектах явно частенько "дуремарятся", более "солидные товарищи" пишут библиотеки-вкладки в максимальном "самопонимании" - и не всегда по правилам, заявленным в описании той среды. Более детальных описаний НЕТ - видимо исходя из принципа "или пользователь примитив или АСС - зачем время зря тратить". А возможности в той ардуине таки весьма много... Учитывая "внешний негатив" приходится самому прорабатывать.
Почему "прародители" не указали - можно только догадываться...
скорее всего, не видели смысла в тысячный раз подробно описывать именно язык, а не их собственные библиотеки и среду про С или С++ информации и так вагон в любых формах. Это ж не ассемблер, который уникален для каждого семейства контроллеров.
А возможно по причине подмены этих директив более приспособленными к специфике МК функциями-заготовками (левая часть таблицы и дополнения на https://www.arduino.cc/reference/en/)... Основной набор директив там ведь дополнен целым набором функций-заготовок, включающих в себя типовые рутинные задачи управления МК...
Попробую в следующих проектах разные варианты "на исполнимость".
Для детального анализа встроенных функций и набора библиотек у меня пока опыта маловато, а народ посолиднее вникать в этот материал особого желания/сил уже не имеет.
Вопрос более не в минимум начального СИ упирается, а в смесь библиотек - ими можно быстро научится пользоваться, но понять смысл и детально проработать нужно весьма много времени. На данный момент приоритет за набором навыков создания своих библиотечек/вкладных файлов и "поосмотрется" не влазя в дебри.
Для детального анализа встроенных функций и набора библиотек у меня пока опыта маловато, а народ посолиднее вникать в этот материал особого желания/сил уже не имеет.
а что там анализировать?) фунцкии как функции, классы как классы. Делают то, что в их описании написано.
А struct по всей вероятности конфликтует по синтаксису с правилами для подключаемых файлов - обращение к элементу структуры аналогично обращению к функции класса
Завязывайте с ардуиной. Ничему хорошему она не научит. Лучше возьмите книжку для чайников типа "Д. Стефан - C++ для чайников" и прочитайте ее внимательно чтобы понять в чем отличие между структурами и классами и почему они не конфликтуют.
Вопрос более не в минимум начального СИ упирается, а в смесь библиотек - ими можно быстро научится пользоваться, но понять смысл и детально проработать нужно весьма много времени. На данный момент приоритет за набором навыков создания своих библиотечек/вкладных файлов и "поосмотрется" не влазя в дебри.
Окстись блаженный. Изучи С ,а там и "магические либы" будешь на раз понимать и всю ущербность ардуньи осознаешь вместе с бесполезностью плюсов в эмбедде.
Вообщем он уже уперся в ограниченность аурдуньи, скоро придет озарение...
я бы не стал так категорично заявлять бесполезность плюсов) Оголтелое ООП не нужно, да, но многие фичи C++ (шаблонные типы, перегрузка операторов и функций, куски стандартной библиотеки - контейнеры, умные указатели, pair) были бы довольно удобны в прикладных задачах.
Однако кроме замечаний arkhnchul остальное есть чистый флуд "ни о чем". Разница в подходах и понимании вопросов естественно весьма отличается. Литература всяческого "для чайников" имеет те же проблемы, что и указанное ранее. Либо примитив "для дятла" либо сверхнавороченные трактаты. Авторы практически всегда исходят из некоего начального уровня потребителя и из того, что потребитель ИСКЛЮЧИТЕЛЬНО фанат ДАННОГО предмета. Я же базируюсь на схемотехнике и имеющемся опыте работ с ассемблером (который также не слишком легко прояснять было, а часть материалов до сих пор не проработана на детальном уровне за "временной невостребованностью" и избыточными для любительского потребления возможностями). И отказываться от имеющегося не намереваюсь - наоборот планируется "мягкое вползание с взаимодополнением" плюс комбинированная схемотехника из прикладных обработчиков данных с центральным ядром "абстрактных задач".
arkhnchul За не совсем корректную терминологию извиняюсь... Однако в отношении ардуино-IDE ... там ведь "смесь"... может удобнее всю эту номенклатуру из элементов языка и базовых функций "инструментами" назвать? С точки зрения "ассемблериста" у "элементов языка СИ" все же несколько подвидов "директив/команд" и собственно операций с данными/переменными....
Либо примитив "для дятла" либо сверхнавороченные трактаты. Авторы практически всегда исходят из некоего начального уровня потребителя и из того, что потребитель ИСКЛЮЧИТЕЛЬНО фанат ДАННОГО предмета.
кстати, непосредственно стандарты языка написаны весьма конкретно. После начального хелловорда и разбирательства с простыми вещами стоит их почитать.
Так это же не "чистый СИ", а доработка - потому в референсе у ардуино и указаны как элементы языка СИ так и отдельный раздел наиболее употребимых функций, как самостоятельная группа "псевдокоманд". Собственно речь не о чистоте СИ (на котором можно самостоятеьное дополнение/библиотечку для каждого типа применяемых там МК написать), а об удобстве использования уже заготовленного производителем материала. У ардуино IDE два типа функций - одни на основе "стандартных" библиотек - те подключаются пользователем как принято "лапками", и библиотеки, на которых основывается действие расширенных "инструментов" и которые автоматически по умолчанию подключаются в проект. Для пользователя вобщем безразлично то, на основе чего они созданы - главное правильно и с наибольшим эффектом ими воспользоваться и иметь представление об их существовании. Получается что авторы ардуино сделали "скрытое для пользователя" прикладное расширение "системы команд" без прямого указания/ссылок на формирующие их (эти функции) библиотеки. По факту это функции подключаемых библиотек, а по значению/применяемости это псевдокоманды/псевдодирективы частного применения. Термин команда/директива не подходит так как это основа все же Сишная, а термин функция - так нет явного указания на библиотеки и их подключение... Все же лучше нейтральное "ИНСТРУМЕНТЫ" в конкретной IDE...
А уже по росту аппетита/сложности задач можно и глубже копнуть.
Насчет ассемблера "в чистом виде" и того слэнга, что для вставок в СИ используется... Разница все-таки весьма чувствительна... В "чистом виде" - свобода действий и владения ресурсом значительно больше. При автоматическом повышении времени написания сложных прожек. Зато можно из СИ некоторы приемы "позаимствовать"...
Надоть какую-нибудь самоделку для тренажа замутить... теория-теорией, а практиковаться таки.... "по мере поступления средств и вдохновения" прихходится...
У ардуино IDE два типа функций - одни на основе "стандартных" библиотек - те подключаются пользователем как принято "лапками", и библиотеки, на которых основывается действие расширенных "инструментов" и которые автоматически по умолчанию подключаются в проект.
на самом деле между ними нет никакой заметной разницы. На такую идиотскую систему организации библиотек в arduino IDE плюются примерно все, кто работал не только исключительно с ней.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 22
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения