Уроки Ардуино. Работа с текстом, String и char[]

  Рет қаралды 75,443

Заметки Ардуинщика

Заметки Ардуинщика

Күн бұрын

Пікірлер: 263
@0lympy
@0lympy 3 жыл бұрын
5:00 str[11] = NULL это неправильно, должно быть = '\0' тогда уж, потому что NULL это константа нулевого указателя (неинициализированного) типа адрес в памяти, а str[11] типа char. Получается лишнее преобразование типов, и в теории на некоторых системах может работать некорректно (если смотреть как на язык С в целом). То есть это все равно что написать str[11] = false, к 0 преобразуется, работать будет, но это лишнее неявное преобразование типов и логически некрасивый код.
@ArduNotes
@ArduNotes 3 жыл бұрын
однако да!
@dima12011201
@dima12011201 3 жыл бұрын
Вроде все норм. Тк char это 1байт. Null - 32 битный указатель (константа) преобразование 32 -> 8 работает норм и это статически при компиляции. Плохо если нулл используем на 64 бита. Там нужен nullptr
@lykabraine2766
@lykabraine2766 3 жыл бұрын
@@dima12011201 +
@lykabraine2766
@lykabraine2766 3 жыл бұрын
@@dima12011201 +
@lykabraine2766
@lykabraine2766 3 жыл бұрын
Вопрос почему я смотрю то шо знаю давно
@Aptekar_
@Aptekar_ 3 жыл бұрын
Как программист -нетрадиционной- объектной ориентации, пожалуй всё же буду использовать стринги)
@Syjalo
@Syjalo 3 жыл бұрын
Я уже совсем запутался о каких стрингах идет речь
@Slavasil
@Slavasil 3 жыл бұрын
Зашел не по колокольчику, а по расписанию!)
@cvitaly2033
@cvitaly2033 3 жыл бұрын
Отлично. Надо пересмотреть свои скетчи
@AlejandroFedorov
@AlejandroFedorov 3 жыл бұрын
Полезненько. Убавит времени копания в доках. Сенкью
@azikamel5624
@azikamel5624 Жыл бұрын
Вы замечательный человек, большое спасибо за ваше красивое и быстрое объяснение
@МихаилБезруков-е5щ
@МихаилБезруков-е5щ 3 жыл бұрын
Привет! Полезная информация! Приятно слушать! А если по факту - всю голову мне сломал)))
@omygod1984
@omygod1984 3 жыл бұрын
Ура😬🍻 Новое, интересное видео🎥 Спасибо Алексу 👍 Ждем продолжения 🤓
@antonzavidov7328
@antonzavidov7328 3 жыл бұрын
Огромное спасибо тебе за этот материал!
@Gameplayer55055
@Gameplayer55055 3 жыл бұрын
Указатель, это когда по очереди пробуешь text *text &text, пока линтер не перестанет ругаться
@nemoderator2043
@nemoderator2043 3 жыл бұрын
Гы
@inqurity
@inqurity 3 жыл бұрын
Да
@disinvis
@disinvis 3 жыл бұрын
Первый курс вспомнился :)
@lykabraine2766
@lykabraine2766 3 жыл бұрын
Жиза
@AlexLink-rb5by
@AlexLink-rb5by 3 жыл бұрын
& - это ссылка)))
@Nachmed
@Nachmed 3 жыл бұрын
Спасибо за урок и Mstring!
@v61kz
@v61kz 3 жыл бұрын
Большая разница в скорости💪 Но - не так просто и не так удобно как стринги🙃
@antonmoshkovich492
@antonmoshkovich492 3 жыл бұрын
Спасибо! Очень полезно!
@ВасилийДонильченко
@ВасилийДонильченко 3 жыл бұрын
Видеоурок улеттт!
@salmantechnologies282
@salmantechnologies282 3 жыл бұрын
Сэр, пожалуйста, добавьте к видео английские субтитры
@txchumberrxnumber6604
@txchumberrxnumber6604 Жыл бұрын
Pointer points to variable -- указатель указывает на переменную. Value inside variable --значение внутри переменной.
@сергейбаглаев-ф3х
@сергейбаглаев-ф3х 3 жыл бұрын
В задаче 3 cstr и comma при копировании в строку это количество символов до и после запятой?
@АндрейМалов-с4м
@АндрейМалов-с4м 3 жыл бұрын
Шикарный урок!
@alexlinuxoid3507
@alexlinuxoid3507 3 жыл бұрын
3:40 есть проблема в формулировке, для обычного массива чаров валидно, но при прибавлении чаисла к указателю он сместится не на этл число байтов, а на sizeof(тип_на_который_ссылаемся) * число
@ArduNotes
@ArduNotes 3 жыл бұрын
да, через байт прыгает, массив указан специально byte =)
@joinmods556
@joinmods556 3 жыл бұрын
Гайвер у меня есть для тебя интересная задача. Вот допустим у тебя есть дачик и ты его читаешь в виде float (а точность тебе важна) и надо через шины данных i2c, spi или через nRF передать другому устройству без потери точности, но там только передается unsigned byte или его массив. Как можно это релизовать? (да та еще извращения, но интересно увидеть задумки)
@alexkart9239
@alexkart9239 3 жыл бұрын
Это не "интересная задача", это типичная проверка на знание фундаментальных основ программирования. Такие "задачки" нередко используют, чтобы отсеять гo%нокoдеров на собеседованиях. В 32х-разрядной системе, массив из 4х штук uchar эквивалентен одному float. Можно легко распилить float на байты, при помощи битового сдвига: float sens_data=2.345678; unsigned char trans_data[4]; trans_data[0]=*((unsigned int *)&sens_data); trans_data[1]=*((unsigned int *)&sens_data)>>8; trans_data[2]=*((unsigned int *)&sens_data)>>16; trans_data[3]=*((unsigned int *)&sens_data)>>24; ..затем передать, и точно также потом скукожить обратно на стороне получателя.
@rematender4269
@rematender4269 3 жыл бұрын
@@alexkart9239 Спасибо за разбор!
@maxim190840
@maxim190840 3 жыл бұрын
Алекс, ты супер молодец!
@TheDCSamara
@TheDCSamara 3 жыл бұрын
2:15 "Неуобно"... Хорошо что хотя бы О, а не Ё :)
@TheDCSamara
@TheDCSamara 3 жыл бұрын
Вкурил: это String потерял букву. Дырявые стринги ёпсель.
@andrewgromow1112
@andrewgromow1112 3 жыл бұрын
Хорошая темка! ))
@КлайвСинклер-е6ю
@КлайвСинклер-е6ю 3 жыл бұрын
С ходу лайк. Все думал заняться разбором работы со строками, да как обычно то работа, то домашнее хозяйство ... а тут как раз Гайвер.... Полезно иногда захаживать на "тюбик"
@absoriann
@absoriann 3 жыл бұрын
2:16 очепятка
@KelevraSelevin
@KelevraSelevin 3 жыл бұрын
Здоровья тебе большого и крепкого )
@некит1
@некит1 Жыл бұрын
1 задача: решение через sprintf 2 задача: atoi 3 задача: sscanf
@Werbard
@Werbard 2 жыл бұрын
2:15 "НЕУОБНО" получилось )
@ПолищукНикита-м5ъ
@ПолищукНикита-м5ъ 3 жыл бұрын
Доброго времени суток , немогли бы вы заделать проект "Аквариумный контролер " у меня есть аквариум, и управлять большим аквариумом, и следить постоянно за ним очень сложно а в ардуино я не очень понимаю. Спасибо Что должно быть в контролере: Таймеры Экран управления Желатель дозатор удобрения Авто долив воды Расвет- закат Если возможно WiFi управление Автоматическое включение охлаждения
@MrYbs-ie1jj
@MrYbs-ie1jj Жыл бұрын
Контроллер теплицы не устраивает?
@chinarulit1126
@chinarulit1126 3 жыл бұрын
Уроаи ардуино превращаются в уроки по C++🙂🙂🙂🙂
@ArduNotes
@ArduNotes 3 жыл бұрын
ну ардуино программируется на С++, не по питону же уроки делать =)
@Gameplayer55055
@Gameplayer55055 3 жыл бұрын
@@ArduNotes esp8266 micropython :) Скорее как сетап для обучения информатике, практической пользы нет
@eng283
@eng283 3 жыл бұрын
char Str[] = "Температура = Z00.0 C"; uint8_t Znak, Tcel, Tdrob; // 1, 28, 3 Str[14] = "-+"[Znak]; // 0 = "-" 1 = "+" Str[15] = "0123456789"[Tcel/10]; Str[16] = "0123456789"[Tcel%10]; Str[18] = "0123456789"[Tdrob]; Результат получается строка "Температура = +28.3 C" Всегда так строки выводил. Работает очень быстро, памяти надо только на саму строку.
@ArduNotes
@ArduNotes 3 жыл бұрын
а также на три строки по 10 байт =)
@eng283
@eng283 3 жыл бұрын
@@ArduNotes Если таких строк много, то ее можно вынести константой 10 байт. Кста 16 байт стокой можно 16тиричные числа выводить)
@ArduNotes
@ArduNotes 3 жыл бұрын
слышал про индусский код? Вот тут можно почитать lurkmore.to/%D0%98%D0%BD%D0%B4%D1%83%D1%81%D1%81%D0%BA%D0%B8%D0%B9_%D0%BA%D0%BE%D0%B4 По сабжу - единичная цифра переводится в символ прибавлением кода символа 0, то есть например символ цифры 5 можно получить как 5 + '0'. А не вот этот трэш что выше))))
@eng283
@eng283 3 жыл бұрын
@@ArduNotes Спасибо. Как я раньше не догадался, знал же что символ заканчивается /0 Str[15] = Tcel/10+'/0'; Str[16] = Tcel%10+'/0'; Str[18] = Tdrob+'/0'; Вот так все работает)
@ЮрийВилков-р2н
@ЮрийВилков-р2н 3 жыл бұрын
Где можно найти полный список функций работы с char
@ArduNotes
@ArduNotes 3 жыл бұрын
в текстовом уроке по ссылке в описании, либо как показано в видео - в доках на avrlibs
@Lesperi
@Lesperi 3 жыл бұрын
А код на теплицу перепишешь? Воздаю должное это самый крутой и полезный проект. Безмерно благодарен за проект "теплица".
@MAD_ALEX
@MAD_ALEX 3 жыл бұрын
Там нечего переписывать
@MimakaGamleT
@MimakaGamleT 3 жыл бұрын
Ухх, от души)
@sliders116
@sliders116 3 жыл бұрын
А утечка памяти?
@ArduNotes
@ArduNotes 3 жыл бұрын
куда?
@olexangrstetsiuk3092
@olexangrstetsiuk3092 3 жыл бұрын
@@ArduNotes , наверное вопрос о : уничтожении динамических массивов, которые загрузят всю оперативку.
@ArduNotes
@ArduNotes 3 жыл бұрын
уничтожаются конечно. Но при неудачном менеджменте программы можно создать жуткую дефрагментацию и п*дец
@olexangrstetsiuk3092
@olexangrstetsiuk3092 3 жыл бұрын
@@ArduNotes , ой, создай урок как не надо делать, чтобы не получить звездулину в работе МК.
@CatYoutuberTV
@CatYoutuberTV 3 жыл бұрын
Скоро: GyverString Через 2 года: GyverInt
@AlexanderTheMiddle
@AlexanderTheMiddle 3 жыл бұрын
Gyverduino
@ArduNotes
@ArduNotes 3 жыл бұрын
на самом деле уже есть gyver float, но он не даёт особого прироста в скорости. Но имеет смысл =)
@Isemenuk27
@Isemenuk27 3 жыл бұрын
GyverBoolean...
@antonpetrusevich
@antonpetrusevich 3 жыл бұрын
@@ArduNotes Неужто переплюнул gcc по эффективности програмной реализации плавучки? Для Арудино больше фикс смысл имеет.
@AlexanderGorshkov
@AlexanderGorshkov 3 жыл бұрын
Время потроллить Гувера - го микропайтон)
@АлександрСановский-д9д
@АлександрСановский-д9д 3 жыл бұрын
Нужна лёгкая библиотека ЕЕПРОМ для счётчика, который пишет в еепром и не делает ему износа....
@androidpasha
@androidpasha 3 жыл бұрын
Пиши просто в следующую ячейку после максимального значения. В конце eeprom пиши в первую. Это самый щадящий способ будет. Одним циклом управишься. При первом старте только обнулить весь епром нужно (если ячейка1==2). Итого два цикла.
@nananight8473
@nananight8473 3 жыл бұрын
Здравствуйте! Нужен желательно быстрый ответ. Я работаю в программе ардуино. Проблема состоит в том, что бизер играет тогда, когда датчик линии находится над белой поверхностью. Как сделать так, чтоб бизер играл тогда, когда датчик линии находится над черной поверхностью? Заранее, спасибо!
@ПавелГлюк-э1с
@ПавелГлюк-э1с 3 жыл бұрын
Коммент в момент четыре пять!
@СемёнАндреев-т4ш
@СемёнАндреев-т4ш 3 жыл бұрын
Уважаемый автор видео,как можно с вами связаться?
@ArduNotes
@ArduNotes 3 жыл бұрын
под каждым видео почта указана
@VadymTytan
@VadymTytan 3 жыл бұрын
Если mString либа действительно резкая как понос, то я в деле
@absoriann
@absoriann 3 жыл бұрын
Чем отличается String из ардуино и string в c++?
@ArduNotes
@ArduNotes 3 жыл бұрын
реализацией и синтаксисом
@alexkart9239
@alexkart9239 3 жыл бұрын
C++ объектно-ориентирован, т.е. всё, что вы найдёте в std:: является классами, от которых можно производить и наследовать. К примеру, я могу, в теории, создать дочерний класс от std::string и добавить то, чего там, по моему мнению, не хватает. Вот так class ololoString : std::string { public: void blowjob(); }; Теперь я могу создавать инстансы нового класса ololoString, которые умеют делать blowjob.
@technotroll-pro
@technotroll-pro 3 жыл бұрын
На esp8266 (если кодить в среде ардуино) String гарантировано приносит проблемы в половине случаев
@ArduNotes
@ArduNotes 3 жыл бұрын
да? А в каких именно? Я не сталкивался, так как стараюсь делать всю обработку строковыми алгоритмами
@technotroll-pro
@technotroll-pro 3 жыл бұрын
@Заметки Ардуинщика wemos, nodemcu
@technotroll-pro
@technotroll-pro 3 жыл бұрын
При чтении ответа с сервера по http
@ArduNotes
@ArduNotes 3 жыл бұрын
до 15 тысяч символов он может принять, и сам возвращает стринг. Я много с таким работал, ничего не ломалось
@technotroll-pro
@technotroll-pro 3 жыл бұрын
@Заметки Ардуинщика дело не в самом стринге, а в том, что он подвешивает программу причём это как правило сразу не видно. Код нормально заводится. Все работает, но периодами плата подвисает. Вылечилось только чистым Си
@dj2080s
@dj2080s 3 жыл бұрын
2:12 не неуобно а неудобно
@prostojproekt
@prostojproekt 3 жыл бұрын
2:15 явно устал (неуобно)
@АлексейМирошниченко-ь8ю
@АлексейМирошниченко-ь8ю 3 жыл бұрын
У тебя ест отпуск? А где ты работаешь?
@ArduNotes
@ArduNotes 3 жыл бұрын
на ютубе
@int_DrBass
@int_DrBass 3 жыл бұрын
а как же сишные sprinf и sscanf? проще и поддерживают создание строки с форматированием, а itoa и atoi надо крайне осторожно использовать а вообще мне не понятно почему в крайне ограниченных ресурсах сделали плюсы а не чистый си, который более компактый, пусть и более сложный
@ArduNotes
@ArduNotes 3 жыл бұрын
никто не делал плюсы, писать можно и на с и на cpp, компилятор разберётся. По sprintf - тема для отдельного урока. Ну и к слову sprintf гораздо тяжелее и медленнее даже чем String, на МК использовать это прям самоубийство
@enter0prise
@enter0prise 3 жыл бұрын
То есть размер бутлоадера - это ОК, а плюсы помешали?) Исключения отключены, rtti отключен, стандартной библиотеки нет. Все во благо минимального размера хексов. Зато от плюсов есть шаблоны, constexpr, лямбды и в конце-концов классы с нормальным RAII. Вопрос в том, почему ардуинщики этими благами цивилизации практически не пользуются?...
@int_DrBass
@int_DrBass 3 жыл бұрын
@@enter0prise лично мне чистый си ближе чем плюсы. лябмдами и rall не пользуюсь даже на компе, так как нафиг это надо
@ArduNotes
@ArduNotes 3 жыл бұрын
потому что ардуинщики - не сеньоры C++, а полные новички в программировании?
@enter0prise
@enter0prise 3 жыл бұрын
@@int_DrBass я к тому, что перейдя С-компилятор критически ничего выиграть не получится, а потерять - запросто.
@pochka7195
@pochka7195 3 жыл бұрын
У нас новое слово в видео появилось: неуобно
@Moki1930
@Moki1930 3 жыл бұрын
Ну и какого хрена ютуб? Где уведомление?
@v61kz
@v61kz 3 жыл бұрын
Хаха, завтра придёт🤣🤣🤣💪
@АнисияСомова
@АнисияСомова 3 жыл бұрын
Скобочек нет, массивов нет, меня нет 🤯 мы в матрице
@olexangrstetsiuk3092
@olexangrstetsiuk3092 3 жыл бұрын
Эх , если бы Алекс взял свои прежние опубликованные скетчи и наглядно показал нам как можно изменить ,,стринги,, для экономии памяти и быстродействия. Я мало что понял , и вообще ничего взять себе на заметку не получилось...
@ArduNotes
@ArduNotes 3 жыл бұрын
я редко использую стринги, показывать нечего
@olexangrstetsiuk3092
@olexangrstetsiuk3092 3 жыл бұрын
@@ArduNotes , а как же : String runningTexti , ведь именно эту строку я без вашего спроса нещадно эксплуатирую в своих опубликованных на канала скетчах. Кстати научил выводить в бегущий текст буквы Ё, ё (эх, насмартфонной клаве нет таких...).
@ArduNotes
@ArduNotes 3 жыл бұрын
@@olexangrstetsiuk3092 там от стринг ничего плохого нет в целом
@olexangrstetsiuk3092
@olexangrstetsiuk3092 3 жыл бұрын
@@ArduNotes , нет нет ничего против не имею , просто для аналогии изменив как в этом уроке увидеть всю подноготную. Ну как это все сочетается ... наверное...
@TheShura2
@TheShura2 2 жыл бұрын
После фразы "а на самом деле никаких массивов нет" я зависаю и пергружаюсь
@nemoderator2043
@nemoderator2043 3 жыл бұрын
Хелоу
@oboltus6757
@oboltus6757 3 жыл бұрын
2:13 неуобно
@braininasquare2199
@braininasquare2199 Жыл бұрын
Самое ужасное - лабораторные по C++.
@dreyryba4328
@dreyryba4328 3 жыл бұрын
Так в уроках по Ардуино Гайвер объяснил, почему современные игры с графикой 10 летней давности и тупости физики требуют нынешних вычислительных мощностей.
@arduroom8494
@arduroom8494 3 жыл бұрын
Главное не увлекаться скоростью и размером, а то так можно до ассемблера и изучения даташита дойти. Там точно не стоит новичкам ошиваться. А интересная идея с ассемблером
@blastedfuse5541
@blastedfuse5541 3 жыл бұрын
Какой кошмар, даташит, ассемблер. Главное мозг не включать, а то вдруг разберешься в чем то сам, и не будешь как обезьяна бездумно повторять сотворенное другими.
@alexkart9239
@alexkart9239 3 жыл бұрын
Язык Си иногда называют "высокоуровневым ассемблером". По мере углубления в него, становится понятно, что ты совсем недалеко от машинных инструкций.
@ProgCyber
@ProgCyber 3 жыл бұрын
Да, не писал ты под Ниос программ...
@mmiro
@mmiro 3 жыл бұрын
Уж очень не всегда это оправдано. Тот же код с string можно оптимизировать без лишнего создания строки для числа int val=atoi(str.c_str()+ ++comma) Да и тоже можно заменить str[comma]='\0'; Чтобы тоже вывести println(str.c_str()) К тому же вы немного вводите начинающих в заблуждение о расходах памяти. Каждое последующее использование string будет увеличивать использование не больше чем если все делать на чистом Си, а иногда и меньше, ведь даже в данном примере, под число вы создали char[10], а число может быть даже из одного символа. +В жизни вы скорее будете вынуждены использовать динамические строки, а это и сложнее, и утечки легко получить да и много ещё всего. Используйте стриги и не партесь) в 90% ситуаций это будет более чем оправдано. Время и силы самый дорогой ресурс😉
@ArduNotes
@ArduNotes 3 жыл бұрын
Не соглашусь, чушь. Зачем вызывать atoi у буфера String, если String имеет свой встроенный toInt? println(str.c_str()) - ещё больший маразм, потому что у класса Print есть поддержка вывода String, которая как раз сама и делает c_str(). Если уж и делать за компилятор всю его работу, то проще работать с char[]. По памяти - начнём с того, что есть RAM, а есть Flash, это сильно разные вещи. Строки будут занимать одинаковый объём sram, да, но сам класс String накидывает пару килобайт на Flash, иногда это критично. Также стринги при неаккуратном использовании приводят к фрагментации памяти, что очень опасно для программы. А время на отладку программы может быть потрачено больше, чем на её написание с приложением чуть бОльших мыслительных усилий
@mmiro
@mmiro 3 жыл бұрын
@@ArduNotes а вы запустите, и сравните время выполнения) вот затем. Создание отдельной строки только лишь для того чтобы сразу ее превратить в int и больше нигде не использовать, вот это маразм
@mmiro
@mmiro 3 жыл бұрын
@@ArduNotes читайте внимательно, прежде чем делать выводы. Print(c_str()) имеет смысл если сделать str[comma]='/0', как вы показали в видео, чтобы вывести только первую часть.
@mmiro
@mmiro 3 жыл бұрын
@@ArduNotes а уж как неаккуратная работа с указателями чревата последствиями, так ещё и сложноуловимыми, вы должны знать)
@Teresh86
@Teresh86 3 жыл бұрын
2:11 неуДобно.
@UktUe
@UktUe 3 жыл бұрын
Неуобно
@norude
@norude 3 жыл бұрын
Выпустил бы 2 дня назад, столько мороки убрал бы
@romaVeber
@romaVeber 3 жыл бұрын
ещё бы взял библиотеку stdio
@MAD_ALEX
@MAD_ALEX 3 жыл бұрын
Лёгким движением руки 32 килобайта памяти превращаются в 29 :)
@1wonderus841
@1wonderus841 3 жыл бұрын
Не запутайтесь в стрингах
@androidpasha
@androidpasha 3 жыл бұрын
Как же этими указателями запугали. Нельзя сразу было сказать что это переменная, хранящая в себе адрес (номер ячейки) оперативной памяти? И при доступе по указателю читаем что записано в ячейке? Т.е. номерок от шкафчика в супермаркете. А то - для продвинутых, сложно... memcpy обязательно с указателями обьяснить нужно.
@StakoKolenko
@StakoKolenko 3 жыл бұрын
НЕУООБНООО
@yuriykandiba213
@yuriykandiba213 3 жыл бұрын
Пратараторил про стринги , нечего не понятно
@GoodVrGames
@GoodVrGames 3 жыл бұрын
Ставь скорость 0,25 и смотри медленно.
@Romulus1988
@Romulus1988 3 жыл бұрын
Гайвер наконец-то объяснил, что лучше жить без стрингов
@mmiro
@mmiro 3 жыл бұрын
На самом деле нет
@Al.Sy.
@Al.Sy. 3 жыл бұрын
"За всё приходится платить." Старий амэрыканский поговорька.
@ГеннадийГром-в8ю
@ГеннадийГром-в8ю 3 жыл бұрын
Да, зачот! Ходите в семейниках! 👍😁🤪
@ГеннадийГром-в8ю
@ГеннадийГром-в8ю 3 жыл бұрын
@@Al.Sy. Пронька рулит! 👍😁🤪
@Al.Sy.
@Al.Sy. 3 жыл бұрын
@@ГеннадийГром-в8ю В США наши туристы как-то вводили моду на семейные трусы на пляже. И американцы купились, подумав, что это новомодная фишка. :)
@dms1304
@dms1304 3 жыл бұрын
Спасиьо за труды. Пожалуй, вы лучшее сообщество по этой тематике
@inqurity
@inqurity 3 жыл бұрын
*Лучшее в России, так-то уроков по С++ и Ардуино миллион
@MAD_ALEX
@MAD_ALEX 3 жыл бұрын
@@inqurity неужели в Казахстане есть лучше уроки?)
@inqurity
@inqurity 3 жыл бұрын
@@MAD_ALEX Упс, я имел ввиду на Русском
@maksimma_ko6321
@maksimma_ko6321 3 жыл бұрын
Подтверждаю круть да и только из за этого засранца я купил себе ардуинку
@АлександрФ-ъ5ь
@АлександрФ-ъ5ь 3 жыл бұрын
@@maksimma_ko6321 транжира Вы, однако)))
@НазарКултаев-э6ъ
@НазарКултаев-э6ъ 3 жыл бұрын
Ну что, мужики, учимся работать со стрингами
@alexanderilyin2136
@alexanderilyin2136 3 жыл бұрын
Сделай следующий урок как лекция про указатели и память от А до Я, очень полезно
@Disorrder
@Disorrder 3 жыл бұрын
0:30 даа, именно поэтому в ledOS (или как там называется твоя библиотека для светодиодных лент) используется именно String, для обычного вывода строк на экран. Стоит убрать захардкоженные 2 строки и сразу памяти хватит на лишние 30-40 лампочек D:
@КостяУгаров-э6с
@КостяУгаров-э6с 3 жыл бұрын
запиши плз ролик по micropython на esp8266 или esp32
@konstantingolinskiy4944
@konstantingolinskiy4944 3 жыл бұрын
Чтобы помещать в строки разные значения float int и .т.д а также из строки извлекать их можно воспользоваться функцией sprintf() sscanf()
@ArduNotes
@ArduNotes 3 жыл бұрын
одна эта функция тяжелее чем весь String, а выполняется лучше даже не знать сколько))
@ИванКрасноярский-е3я
@ИванКрасноярский-е3я 7 күн бұрын
В дурино есть встроенный принт который может делать тоже самое
@StoneTL
@StoneTL 3 жыл бұрын
Как раз этого мне и не хватало в одном проекте месяца 2 назад! Но зато теперь всё понятно и под рукой) Спасибо
@masterkit9517
@masterkit9517 3 жыл бұрын
Побольше бы таких уроков
@edgarfedosov1440
@edgarfedosov1440 3 жыл бұрын
С тем объемом памяти, что в ардуинках, лучше сразу забыть о типе string.
@dmitryefimkin6550
@dmitryefimkin6550 Жыл бұрын
Круто. А как быть с данными падающими с UART?
@jamesblack7412
@jamesblack7412 3 жыл бұрын
Офигеть, только вчера решил поковырять микроконтроллер, где пытался вспомнить указатели си)
@iqubik
@iqubik 3 жыл бұрын
Я как раз в конце ждал что-то такое как сделал Алекс. Ведь оно прям напрашивалось! Спасибо
@AlexLink-rb5by
@AlexLink-rb5by 3 жыл бұрын
Прикольно.. только всё это проходил на занятиях и сдал экзамены по с++))) спасибо!!! Лайк!!!
@inqurity
@inqurity 3 жыл бұрын
Отличный урок!
@azatfr
@azatfr 3 жыл бұрын
Расскажите пожалуйста про оверсемплинг и способы программного увеличения точности встроенного АЦП.
@ArduNotes
@ArduNotes 3 жыл бұрын
урок по фильтрам есть на канале
@azatfr
@azatfr 3 жыл бұрын
@@ArduNotes тема дизеринга не раскрыта еще.
@opi03
@opi03 3 жыл бұрын
Сложно, скучно, но необходимо
@energy_of_nature
@energy_of_nature Жыл бұрын
Хорошее видео! Но подскажите почему mString и описание и реализация в одном заголовочном файле? Пробовал свои создавать в cpp не работают, а в заголовочном реализация работает. Благодарю! 👍
@neonbrickchannel2136
@neonbrickchannel2136 3 жыл бұрын
Алекс Гайвер: там короче все символы в одной цепочке хранятся, и надо короче к ним обращаться как к номерам и т.п. Я, который пришел из web: ...что?... Короче, Espruino - мой вариант)))
@iAlexTube
@iAlexTube 3 жыл бұрын
2:13 неуйобно
@Technik8888
@Technik8888 Жыл бұрын
Слушать невозможно, музыка пиликает, нахрена она вообще нужна? Автор тараторит, музыка пиликает, воспринимается очень тяжело!
@vasyabarbariskin5168
@vasyabarbariskin5168 3 жыл бұрын
Сложно и неуобно! ПыСы для большего понимания рекомендую скорость 0,75.
@Codeman47Rus
@Codeman47Rus 3 жыл бұрын
Спасибо. Еще не досмотрел, но уже очень круто и понятно. Может так и до ассемблера дойдем)))
@АлексейБаранов-я9э
@АлексейБаранов-я9э 3 жыл бұрын
Спасибо Алекс Гайвер полезный урок был.
@denial3874
@denial3874 Жыл бұрын
Заметки Ардуинщика: Когда будет урок по указателям, это можно сказать самая важная тема и она не раскрыта.
@hottabychable
@hottabychable 3 жыл бұрын
Давайте еще опишем многомерные массивы, будем использовать указатель на указатель, потом использовать операцию разыменовывание, потом создадим на основе этого структуру и будем думать использовать стрелку или точку))))
@ArduNotes
@ArduNotes 3 жыл бұрын
указатель на указатель - да, типичная схема хранения и использования строк =) в том числе в программной памяти
@ilyamedvedev8943
@ilyamedvedev8943 Жыл бұрын
У меня у одного возникла сразу идея про авторизацию по логину паролю через Ардуино🤣
@topalek
@topalek 3 жыл бұрын
крутяк, спасибо
@persontashik_z
@persontashik_z Жыл бұрын
Как int преобразовать в char?
@wad600
@wad600 3 жыл бұрын
Вау, шик блеск красота
@Aphit-c4w
@Aphit-c4w 2 ай бұрын
0:34 хочу купить!)
Делаем программу с интерфейсом на Processing
49:07
Заметки Ардуинщика
Рет қаралды 110 М.
А ВЫ ЛЮБИТЕ ШКОЛУ?? #shorts
00:20
Паша Осадчий
Рет қаралды 9 МЛН
哈莉奎因怎么变骷髅了#小丑 #shorts
00:19
好人小丑
Рет қаралды 53 МЛН
Man Mocks Wife's Exercise Routine, Faces Embarrassment at Work #shorts
00:32
Fabiosa Best Lifehacks
Рет қаралды 5 МЛН
The day of the sea 😂 #shorts by Leisi Crazy
00:22
Leisi Crazy
Рет қаралды 1,7 МЛН
20 способов помигать светодиодом на Arduino
10:14
Заметки Ардуинщика
Рет қаралды 87 М.
Самая маленькая Ардуина - ATtiny10 + проект
10:37
Заметки Ардуинщика
Рет қаралды 175 М.
USB-C ИЛИ THUNDERBOLT | А ЕСТЬ ЛИ РАЗНИЦА?
19:54
Разгон ШИМ Arduino
9:11
Заметки Ардуинщика
Рет қаралды 75 М.
Простая беспроводная сеть датчиков на Arduino и 433 MHz
18:54
Заметки Ардуинщика
Рет қаралды 266 М.
ATtiny26 - новый король бомж самоделок?
10:40
Заметки Ардуинщика
Рет қаралды 325 М.
А ВЫ ЛЮБИТЕ ШКОЛУ?? #shorts
00:20
Паша Осадчий
Рет қаралды 9 МЛН