![Alex Morozov](/img/default-banner.jpg)
- 203
- 1 837 693
Alex Morozov
Russia
Приєднався 6 жов 2011
Arduino и прочие питомцы.
Автор отвечает на все комментарии. Просто на некоторые устно, но поверьте, так лучше для всех. :)
За прямые оскорбления и выраженные признаки дегенерации сразу в бан, полемика в данном случае бессмысленна.
И нравится вам это или нет, но "проблемы индейцев шерифа не волнуют". (С)
Вас никто меня смотреть и слушать не заставляет, других каналов с котиками на Ютубе миллионы!
(Не особо) надеюсь на понимание.
Мигрирую на Яндекс.Дзен zen.yandex.ru/id/5f322d084ac77c278bc3fa76
Автор отвечает на все комментарии. Просто на некоторые устно, но поверьте, так лучше для всех. :)
За прямые оскорбления и выраженные признаки дегенерации сразу в бан, полемика в данном случае бессмысленна.
И нравится вам это или нет, но "проблемы индейцев шерифа не волнуют". (С)
Вас никто меня смотреть и слушать не заставляет, других каналов с котиками на Ютубе миллионы!
(Не особо) надеюсь на понимание.
Мигрирую на Яндекс.Дзен zen.yandex.ru/id/5f322d084ac77c278bc3fa76
Відео
RP2040 малинка без остинок
Переглядів 7 тис.21 день тому
Примеры использования SDK: github.com/raspberrypi/pico-examples Код для отладчика: github.com/raspberrypi/debugprobe Скомпилированный код отладчика для RP2040 Zero (GPIO2 - SWC, GPIO3 - SWD, GPIO4 - RX, GPIO5 - RX): disk.yandex.ru/d/aYpIMuEV57iu-Q
SuperMini - это Супер или Мини?
Переглядів 3 тис.Місяць тому
Небольшой обзор на представителей семейства плат SuperMini. Ссылки на покупку ищите самостоятельно поиском "SuperMini" на Али. На странице товара как правило указана информация о пинах и особенностях плат. Для разработки под Дуриной в PlatformIO можете использовать следующие параметры плат (файл platformio.ini): [env:esp32-c3-devkitm-1] platform = espressif32 board = esp32-c3-devkitm-1 framewor...
Отправка SMS без SIM карты через спутник
Переглядів 3,3 тис.2 місяці тому
Скоро на канале в серии роликов о неПЛК будет прием и отправка SMS модемом на SIM800L для ESP32. И это уже не joke.
Куча мала
Переглядів 2,5 тис.3 місяці тому
Демонстрация избыточного выделения памяти из кучи: github.com/MoonFox2006/Heap_Demo
Мигаем светодиодом без таймера на ESP32 под Arduino
Переглядів 1,3 тис.3 місяці тому
Код демонстрационного проекта из видео (PlatformIO): github.com/MoonFox2006/ESP32_Blink Принцип мигания без таймера описан в ролике ua-cam.com/video/nU2yf-mdSJM/v-deo.html
Управляем APA106 с помощью SPI на МК ESP32-C2
Переглядів 1,1 тис.3 місяці тому
Используя SPI интерфейс, можно управлять адресным светодиодом APA106. Из всех рассмотренных мною вариантов этот не требует прерываний (соответственно, не боится их запрета) и работает полностью асинхронно. Код из видео (ESP-IDF 5.2): github.com/MoonFox2006/apa106_spi
Использование PWM для управления адресным светодиодом APA106
Переглядів 1 тис.3 місяці тому
Т.к. ESP32-C2 лишен блока RMT, то для управления адресным светодиодом можно приспособить аппаратный блок PWM (LEDC). Код из видео (ESP-IDF 5.2): github.com/MoonFox2006/apa106_ledc
Мигаем светодиодом на ESP32-Cx без таймера
Переглядів 1,5 тис.3 місяці тому
Для мигания светодиодом на ESP32-Cx можно использовать таймер аппаратного фейдинга. Код из видео (ESP-IDF 5.2): github.com/MoonFox2006/blink PS: код адаптировал для ESP32/S2/S3 помимо C2/C3, правда на ESP32 работает криво, на S2/S3 не проверял, но LEDC у них по регистрам эквивалент C2/C3.
Мигаем светодиодом "по-взрослому" на ESP32-C2
Переглядів 3,8 тис.4 місяці тому
Пример управления адресным светодиодом APA106 на МК ESP32-C2 с помощью Dedicated GPIO: github.com/MoonFox2006/apa106_dedic
ПЛК на минималках: Начало
Переглядів 10 тис.4 місяці тому
Начало цикла роликов о создании "ПЛК на минималках" от платы до прошивки. Пример использования библиотеки хранения параметров для ESP-IDF (на котором судя по всему мы и будем писать прошивку): github.com/MoonFox2006/ParamsDemo PS: C будет использован без фанатизма (я не программист на ), так что не ждите новомодные фишечки и сверхвысокоуровневые типы. Свой код пусть и кривей, но родненький же :)
Оффлайн-стрим СТРОГО НЕ ДЛЯ ВСЕХ!!!
Переглядів 2,3 тис.5 місяців тому
Разбор ваших последних комментариев на канале в формате "оффлайн-стрима". Строго только для Адептов! Берегите свои нервы и время, не смотрите! :) Полторы Сурено-минуты отборного нытья, унижения зрителей и сертифицированного нарциссизма автора! Мамкиным психиатрам скидка 50%. PS: Предвкушаю пополнение банного списка... :)
CH552 LCD 1602 USB CDC дисплей
Переглядів 8 тис.5 місяців тому
LCD 1602 USB CDC дисплей на МК CH552G. Код из видео, гербер платы, схема и готовая прошивка: github.com/MoonFox2006/USBLCD Добавление поддержки CH55x в Arduino IDE: github.com/DeqingSun/ch55xduino PS: ссылок на конкретных продавцов на Али не даю, чтобы никого не обидеть, ищите сами по своим критериям.
ESP8684-WROOM-01C
Переглядів 3 тис.5 місяців тому
ESP8684-WROOM-01C - еще один модуль в форм-факторе ESP-12 на МК ESP32-C2 от самой Espressif. Потребление в глубоком сне не более 8 мкА, в легком сне не более 140 мкА. Для желающих поучаствовать в проекте реле с I2C/OneWire датчиками, RS485 и GSM на DIN-рейку (управление через SMS , WiFi (HTTP, MQTT и телеграмм-бот): Карта МИР 2200 2407 5495 3152 PS: не поверите, но я знаю, что подобные реле уже...
ESPC2-12
Переглядів 9 тис.5 місяців тому
Новые модули ESPC2-12 на новом МК ESP32-C2 к Новому году и надо ли оно вам.
Автономный программатор для Atmega 328 на Atmega 328
Переглядів 7 тис.9 місяців тому
Автономный программатор для Atmega 328 на Atmega 328
Немного про PSRAM (SPIRAM) на МК ESP32
Переглядів 3,3 тис.10 місяців тому
Немного про PSRAM (SPIRAM) на МК ESP32
Подсчет импульсов в глубоком сне на ESP32-C3
Переглядів 1,7 тис.Рік тому
Подсчет импульсов в глубоком сне на ESP32-C3
Как правильно уложить спать ESP32-S2 с FSM-ULP при использовании WiFi
Переглядів 2,1 тис.Рік тому
Как правильно уложить спать ESP32-S2 с FSM-ULP при использовании WiFi
код оленя это использовать delay, когда есть встроенный таймер
Для установки зависимостей можно выполнить (из папки tool-esptoolpy): pip install . или python -m pip install . Это вместо установки каждого требуемого пакета по отдельности, как показано с 21:52
Или можно даже не заходить в папку tool-esptoolpy, а просто установить esptool, как рекомендуется в документации: python -m pip install esptool Установится более новая версия, чем имеющаяся в папке tool-esptoolpy. Потом espefuse (как и esptool) вызывается как модуль: python -m espefuse параметры
это отвратительно../ делается на мосфете и только так......
Чем цикл отличается от серии?
Спасибо за видео. Вот и я деградировал до уровня ардуинщиков... Заказчики хотят чего подешевле...
Мало того что нищие и жадные, так ещё и "изолированные" теперь
Следите внимательно, чтобы изоляцию не пробило :)
Четность считаю следующим образом для 8 бит: data = (data & 15) ^ (data>>4); data = (data & 3) ^ (data>>2); data = (data & 1) ^ (data>>1). data == 1 при нечетном количестве единиц.
Каждый раз в цикле вычисляется sizeof()/sizeof([]). Заменяем на i=sizeof()/sizeof([]) перед началом цикла. 4 байта читаются с флеша. В чем выгода?
Все инварианты в циклах и т.п. компиляторы уже не первый десяток лет считают однократно, gcc тут тем более не исключение. Про выгоду использования флеша вместо оперативки под массивы стоит говорить в контексте сложного кода, особенно в случае всяких ATtiny и прочих малопамятных МК.
@@alexmorozov73 Под чтение из флеша МК резервирует буфер в ОЗУ. Байт этак на 256. И это из-за 4 байт данных. А когда он начинает дергать данные из разных секторов флеша, так вообще кранты по времени выполнения.
Вы точно про AVR говорите? Буфер под чтение из флеша?! 256 байт?! Может быть просто инструкция LPM вместо LD(S)?
@@alexmorozov73 Нет. Не про AVR. Вообще про написание программ для МК. C AVR не знаком.
Не подскажете, на каких МК программа во флеше не проецируется на общее адресное пространство, чтобы ее нужно было как-то особенно считывать в буфер?
Спасибо!)
Привет! Желаю добра.) Есть вопрос - пишу для esp32-C3 - стараюсь применять «короткие» типы - uint8-t для 0..255, скажем. Есть ли в этом какой-то смысл? Что более безопасно - записать «неверное» по смыслу значение в переменную большего типа (-1 в переменную int32_t display_brightness, скажем, где 0..7 должно быть) или таки ограничиваться при помощи uint-ов соразмерного задаче типа?
Регистры ESP32 32-х разрядные, т.е. переменные в регистрах (пока есть бюджет свободных) маскируются битовым AND до меньших типов. Так что получается, что использовать более короткие типы может выйти "дороже". А уж спасет ли маскирование от пере- или недо- полнения - это по коду надо смотреть. Ваш пример с 0..7 требует ручного маскирования, никакой тип тут сам по себе не поможет.
Привет! Плюс за СДК!
Взял с месяц назад себе esp32-c3 supermini, но при поднятии своей wifi точки при коннекте получаю какое-то странное поведение. То есть коннект, то при коннекте плата бросает точку доступа и поднимает снова. Так и не понял в чем прикол. Жаль, хотел многое на ней сделать) Было ли у вас подобное ?
У меня вроде бы относительно удачные экземпляры, но на антенну (или ее обвязку или схемотехнику плат в целом) жалуются многие, поэтому платы получились лишь забавными, но не очень полезными. :(
Здравствуйте, подскажите пожалуйста эту плату можно использовать как вай фай репитер?
Убогий расширитель покрытия можно сделать даже на ESP8266, думаю и на ESP32 можно. Само собой со своим NAT, именем сети и низкой скоростью.
Так, а что там с ESP32-C6? Знакомство продолжиться ?
Дурина доросла до версии 3.0.1 с опорой на ESP-IDF 5.1.4, а значит появилась поддержка C6, так что как появится время - сниму ролик о C6. Все-таки ESP-IDF требует для простых приложений неоправданно много усилий. :)
Здесь не англосаксов нужно было хейтить...
О, прикольно, упростили процесс установки Pico SDK. Я когда настраивал, не было еще ничего, только Pico SDK сам по себе и к нему был прикручен доисторический gcc. Сидел, перекручивал на современный + CMake) Теперь так удобнее, но, конечно, снижение порога вхождения для новичков - это очень приятно, наконец-то у ардуинщиков появилась альтернатива, может быть, вырастут в толковых программистов)
Здравствуйте. С точки зрения контроллера сложная вложенная конструкция if then else и "красивая" case это одно и тоже? Компилятор arduino C.
Надо смотреть, какой код на ассемблере породит компилятор. Во времена моей молодости switch порождал таблицу переходов, но не факт что сейчас и тем более на МК так же. ИМХО if else вероятнее породит более компактный код.
@@alexmorozov73 Спасибо.
"Простой доступ к её ногам" - это звучит вкусно!
только видео началось, сразу токсичность.... ну как-же так, прям разстроил
В чём RP2040 превосходит ESP32-C3? Цены и возможности примерно одинаковы, но у ESP есть Wi-Fi и BT. Понятно, что 2 ядра, но это не кажется такой полезной функцией как радиосвязь. Извиняюсь, не смотрел видео полностью, поскольку оно длинное и в основном не про сравнение микроконтроллеров.
Зачем все эти STM32 и AVR с PIC без функций радиосвязи, когда есть такой прекрасный МК как ESP32-C3... Извиняюсь, весь комментарий не прочитал, он длинный и не про тему ролика. :)
Мне на Ютубе нравятся и котики, и с&ськ&, и Alex Morozov. Поздравляю с Днём рождения!
Поздравляем с прошедшим днём рождения 👍
hello word c++ скомпилировал , 2мб получилось !!
Часы шикарно тикают на фоне шикарного видео! ;)
В последнем примере с проверкой четности, если предположить, что большая часть данный значительно меньше половины uint32_t, то можно ещё ускорить, если начать с младшего бита.
В конечном варианте проверки четности с младшего бита все и начинается.
Очень интересно, но failed to setup example как обычно с vsc, надо прикрутить еще костылей чтобы с гх подтягивал?
Скорее всего git установить надо в систему.
@@alexmorozov73 Так точно! Обновил git на актуальную версию, сдк и тулчейн загрузились. Спасибо.
Какая *логическая* операция проводилась с "близнецами" из астрологии для получения этих выводов? Как вообще в одном мозге может пересекаться логика и астрология?
ЧЮ по дизайну не положено или отсохло и отвалилось со временем за невостребованностью, видимо проиграв битву за бюджет нейронов логике? :)
@@alexmorozov73 Ну -тупые- Задорнов.
Спасибо за идеи!
Кстати, по части оптимизации и UARTa - некоторое время назад таки дошел до того, что забабахал очередь и переделал стандартные выводы для отладки. Теперь ничего не ждет независимо от скорости отладочного интерфейса, правда нет всего функционала в printf, но для отладки он весь и не нужен. И да, современным компиляторам i%1024 как и i*256 i/64 ... оптимизировать не надо, они сами подставят сдвиги вместо арифметики.
🎉
Очень интересно смотреть за процессом программирования и за ходом мысли программиста - это интереснее, когда просто идёт рассказ по уже написанному коду.. про 133 кГц - ну да, увидел я это сразу и давай кричать, так ты не слышишь) хорошо потом сам увидел ))
6:20 !
Не до конца понял как чего,вроде собирал раньше VSCode OpenOCD и GBD а сейчас сделали плагин под все вместе?
Спасибо!
Все дело во флюсе.
Спасибо за обзор! Повторил все шаги что в видео, все ок! в качестве платки отладчика, использовал "sipeed slogic combo 8" (как то приобрел) в режиме DAP-Link (увы, контакта для RESET нету, неудобно).
В качестве отладчика через swd можно пользовать другой pico благо она копеечная , у dygikey есть видео
Отлично объяснил, как для школьников. Красавчик. Камушек заслуживает внимания. Хотелось бы плат пожирнее , хотя он, наверное, не для этого.
этот тот проц с рахитным ацп ?
J-link ом можно его дебажить?
Можно
Заказал сотку RP2040 еще в дек 2022 и пак компонентов собрал, потом заставили заниматься несвязанными вещами, в итоге платы еще в разработке, но походу будут 4х слойные под 0402 и кондеры 0201 под ручную пайку 🤣без микроскопа. Другие контроллеры под свои поделки не нужны в 95% случаев, так что сотка разлетится, и в конечном итоге свой форм-фактор того будет стоить на все 100% P.S. силикОн - это silicone, a silicon - это -кремний- сИликон
Очень интересно ! У меня проснулся интерес попробовать поработать через SDK ?
Дзен - зло. К чертям его
Любая публичная площадка - зло! Шлюз дурки в реальный мир. Если уж на то пошло, то чем больше площадка, тем больше Зло... :)
@@alexmorozov73 нет. дзен и rutube это специальные площадки сделанные чтобы относительно безболезненно закрыть всеми любимый ютуб. Поддерживая их ты убиваешь ютуб. Вот в этом зло
Cortex M0+, да ещё и с двумя ядрами. Интересно, даже не чекал. Увидел что отладка по даплинку, а так как я свой даплинк делал, я знал что он на Кортех М. Инетерсно, как компилятор под капотом работает.
Спасибо, очень интересно.
Расширение serial monitor и на PIO для RP2040 работает. А штатный что то не хочет...
Штатный Serial Monitor от PIO на PIO или что вы имеете ввиду? Для PIO нужно в platformio.ini как минимум monitor_speed указывать, если он отличный от умалчиваемого в параметрах платы, а если UART'ов несколько, то и порт конкретный нужно указать.
@@alexmorozov73 Именно "Штатный Serial Monitor от PIO на PIO" . И port и speed в ini указаны, но что-то не конектится....
Ни разу за все годы использования PIO не сталкивался с проблемами его Serial Monitor'а.
Огрызки 😂 мда