Уроки Arduino. Общение по Serial, парсинг данных, протоколы связи

Поделиться
HTML-код
  • Опубликовано: 27 сен 2024

Комментарии • 339

  • @bumbarabun
    @bumbarabun 3 года назад +24

    15:13 ошибка, вместо логического "И" там бинарный, странно, что не вылезло при тестировании.

    • @ArduNotes
      @ArduNotes  3 года назад +8

      спасибо! Исправлю в примерах

    • @bumbarabun
      @bumbarabun 3 года назад +3

      @@ArduNotes я в последнее время предпочитаю альтернативную форму записи - and гораздо тяжелее перепутать с bitand, чем & vs &&. Или можно для бинарного использовать старую форму, а для логического новую.

    • @MiaminZD
      @MiaminZD 3 года назад

      @@ArduNotes Zinkin Mitya
      Интересно в условии стоит millis .т.е. таймают по условию должен быть миллисекундах, а вывод Serial.print показывает в микросекунда. Как? Как я понимаю минимальная задержка будет 10 миллисекунд.

    • @wt8712
      @wt8712 2 года назад

      @@MiaminZD Вывод показывает сколько микросекунд исполнялся код на 39-40 строке, а вызываться он будет не чаще, чем раз в 10 миллисекунд

    • @dmitrykolesov1651
      @dmitrykolesov1651 Год назад

      Спасибо огромное! Без этого не работало. Этот комментарий должен быть вверху.

  • @notsaucemanofficial
    @notsaucemanofficial 3 года назад +64

    Второе название канала - "ценнейшая находка для ардуинщика".

  • @sorochinsky
    @sorochinsky 3 года назад +9

    Высший пилотаж, объяснить сложное просто. Спасибо!😊

  • @IgorStepochkin
    @IgorStepochkin 3 года назад +12

    Ты мои мысли прям читаешь) Перелопатил по этой теме уже все что можно

  • @МорозИлья-ж3г
    @МорозИлья-ж3г 3 года назад +26

    Алекс, сделай разбор кода какого-нибудь своего проекта. Видео с светомузыкой на гиперкубе было топовым, очень классно и понятно ты все объяснил. Я потом, используя тот алгоритм, переписал старую твою светомузыку и выглядит это прекрасно. Я это к тому, чтоб ты рассказал про какой-то код на каком-то более конкретном примере

  • @encoder10101
    @encoder10101 3 года назад +4

    Класс, игрался со связью по serial между 8266 и ардуино пару лет назад. Спаял делитель так как платы на разное напряжение и... Забросил) самое время достать снова всю эту шляпу и поиграться снова. Спасибо за все тонкости и за асинхронность. Жму волосатую руку.

  • @--r3381
    @--r3381 3 года назад +4

    Ооо, то что надо, спасибо большое! У меня контроллер моноколеса периодически шлет массив с циферками, с ними мне как раз нужно будет работать в ардуине.

  • @illya-litkin
    @illya-litkin 3 года назад +9

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

    • @ArduNotes
      @ArduNotes  3 года назад +8

      огромный гайд выйдет через пару недель

    • @bbnmn4800
      @bbnmn4800 2 года назад +3

      @@ArduNotes когда

  • @boriskash1985
    @boriskash1985 3 года назад +2

    Очень интересно!Хоть и не понятно много чего

  • @multitube_original
    @multitube_original 3 года назад +10

    Вооооооооот я уже начинаю разбираться в кодах! А это сулит новые свершения. БлагоДарю тебе Гувер за твои старания, ты и сам от этого получаешь неистовое удовольствие!)

  • @ВасилийШумилов-о8ь
    @ВасилийШумилов-о8ь 3 года назад +1

    Я в свое время написал для VBA приложений JSON парсер для хранения данных и обмена между приложениями в текстовом формате, получилось достаточно просто и эффективно, но для для ресурсов микроконтроллера лучшее решение применение команд: ключ, значеие.

  • @igelbox.
    @igelbox. 3 года назад +8

    Ой, на 8:50 - потенциальная запись за пределы массива.
    (если придёт пакет в 30 байт, то мы запишем NULL в 31й элемент массива)

  • @igorpr.8188
    @igorpr.8188 3 года назад +5

    Спасибо большое за ценный урок! Очень важная информация!

  • @hutoryanin
    @hutoryanin 3 года назад +3

    Благодарю, доступно, подробно, а главное интересно.
    *Л. а. й. к.*

  • @anatolytitov4169
    @anatolytitov4169 3 года назад +4

    Лучший канал по абдуринке!

    • @derungebundener2019
      @derungebundener2019 3 года назад +1

      Абдуринка - это выступления ВВП по ТВ :)

    • @krutoyinfo
      @krutoyinfo 3 года назад

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

    • @MAD_ALEX
      @MAD_ALEX 3 года назад

      @@krutoyinfo ссылку на аналогичный урок пожалуйста

    • @anatolytitov4169
      @anatolytitov4169 3 года назад

      @@krutoyinfo Дайте ссылку плз.

  • @Evgeniy_topp
    @Evgeniy_topp 3 года назад +1

    Давно хотел научиться передавать команды на ардуино или esp по блютуз и вай фай. Спасибо. Жду следущий урок

  • @ser.jovtok
    @ser.jovtok 3 года назад +2

    Сколько небольших производств заработало благодаря Гайверу, самому в этом всём разобраться очень сложно)

  • @lakosh889
    @lakosh889 3 года назад +1

    Я 4 года ждал это видео

  • @SIM31r
    @SIM31r 3 года назад +3

    Лайк за Терминатора )

  • @ЕвгенийДвинянин-ч3й
    @ЕвгенийДвинянин-ч3й 3 года назад +2

    кренеть, вот теперь начнётся жара...

  • @user-Master1969
    @user-Master1969 10 месяцев назад

    Урок ценный но уже тяжел для понимания начинающим.

  • @MihaiTeSla
    @MihaiTeSla 3 года назад +3

    Ничего не понял, но очень познавательно.

  • @tiMer23
    @tiMer23 3 года назад

    Как то, года 3 назад. Просил такой видос, дождался)))

  • @tkaisar
    @tkaisar 3 года назад +1

    Спасибо! То, что надо!

  • @Specter690655
    @Specter690655 3 года назад +2

    Вот бы ещё по uart мульти-точке урок. Чтобы решение коллизий попинать

  • @ВаняВано-ч8у
    @ВаняВано-ч8у 3 года назад +24

    а уроки с esp и сетью будут?)

    • @ArduNotes
      @ArduNotes  3 года назад +19

      да

    • @MrDent-tp4ke
      @MrDent-tp4ke 3 года назад

      esp 8266 - интересный модуль, в теории у него много возможностей но самая известная и пожалуй классическая- естественно деуатентификатор. Поэтому хотелось бы узнать что то ещё чтобы разнообразить работу с данным модулем

    • @levstarostin9699
      @levstarostin9699 3 года назад

      А ESP 32 будут?

    • @Evgeny_Miroshnichenko
      @Evgeny_Miroshnichenko Год назад

      @@MrDent-tp4ke деуатентификатор? Это что же такое "естественное", "классическое" и "самое известное", что о нём даже Гугл не слыхивал?
      Поясните это на понятном языке, пожалуйста.

  • @zloslov
    @zloslov 2 года назад +1

    Вот конечно еще бы вы медленнее все рассказывали. Но всё равно вы очень крутой спасибо вам огромное.

  • @ag4540
    @ag4540 2 года назад

    Чтобы упростить процесс приема пакета - все эти таймауты - можно же использовать структуру TLV
    ru.m.wikipedia.org/wiki/Tag-length-value
    Часть пакета tag/type и length имеет фиксированную длину, а длина пэйлоада будет известна из поля length, в итоге мы точно знаем когда надо начинать парсить, а таймаут оставить для определения битости пакетов

  • @pisyakamushkin704
    @pisyakamushkin704 3 года назад

    Когда то давно изучал c, сейчас пишу только на python, и вдруг натыкаюсь на этот видос, аж мурашки по коже побежали как вспомнил обязательное присвоение типа переменной и указатели, ууфф.

    • @tim4ig
      @tim4ig 3 года назад

      Зато скорость роботы кода выше в разы

    • @ArduNotes
      @ArduNotes  3 года назад

      когда нибудь программисты совсем деградируют)

    • @ArduNotes
      @ArduNotes  3 года назад

      в десятки и сотни

  • @МаксимСимаков-ъ4м
    @МаксимСимаков-ъ4м 3 года назад

    Круто и простопонятно, ещё ещё требуют наши мозги

  • @elenapoplos9537
    @elenapoplos9537 3 года назад

    Спасибо за видео и советы Поучительный материал

  • @Цербер-ч2э
    @Цербер-ч2э 3 года назад

    Ой спасибо, братик, какраз к дипломной работе подоспел!!!!

  • @Dima-dj8lh
    @Dima-dj8lh 3 года назад

    Для пользователя вариант "название пробел аргумент пробел аргумент..." куда приятнее (просто разделители иные). Можно функции мутить int argc, char* argv[] и ещё char answer[] для записи в эту строку ответа. Удобно. Предпочитаю именно этот метод, т.к. лень ещё прогу делать с крутилками и жмакалками
    Но вот между устройствами только структуры, только хардкор.

    • @ArduNotes
      @ArduNotes  3 года назад

      между устройствами да, структуры) в другом уроке будем разбирать

    • @Dima-dj8lh
      @Dima-dj8lh 3 года назад

      @@ArduNotes , в догонку к методу:
      Можно несколько вариантов для ключа использовать
      case 'r':
      Print("big r")
      case 'R':
      Код на r
      Break

  • @alxlavr
    @alxlavr 3 года назад +3

    Расскажи как паркинг можно сделать на прерываниях на примере разбора данных от GPS. Это было бы здорово.

  • @mrAlexandrSmith
    @mrAlexandrSmith 3 года назад

    очень полезный видос! Спасибо!

  • @maxfrec8487
    @maxfrec8487 3 года назад +3

    Еще хотелось бы видео по сетевым каким то протоколам тот же изернет+интернет и работе с радиопередачей данных вифи/лора/блютуз и другие - т.е. что то в этом направлении.

    • @krutoyinfo
      @krutoyinfo 3 года назад +1

      Это требует много времени и стоит денег

    • @kalobyte
      @kalobyte 3 года назад

      инторнетный протокол слишком сложный для 8 битного контроллера и жрет много ресурсов
      есть готовые библиотеки для этого и там тот же принцип как и тут, парсить все равно придется
      а как передавать данные - зависит от конкретной библиотеки

  • @НикитаУшаков-г7п
    @НикитаУшаков-г7п 7 месяцев назад

    Спасибо, Alex🤝

  • @androidpasha
    @androidpasha 3 года назад +1

    Json мне нравится)

    • @appbox8754
      @appbox8754 3 года назад

      а ёлочка?

    • @Slavasil
      @Slavasil 3 года назад

      нет блин xml

  • @it8874
    @it8874 3 года назад +1

    Тоже ждешь финальную серию руки терминатора?

  • @QazaksTanos
    @QazaksTanos 3 года назад

    аааа круто, скорей бы новый урок

  • @lossofsoul3693
    @lossofsoul3693 10 месяцев назад

    расскажи о средствах обеспечения помехозащищенности) алгоритмы что делать если пакет не пришел до конца, пакет пришел битый (с искажениями) и т.д. о CRC, протоколах подтверждения от устройства об успешном получении пакета и т.д.

  • @ihypnocat
    @ihypnocat Год назад +1

    А нельзя ли json читать и отправлять ардуиной?🤔

  • @doshik9117
    @doshik9117 3 года назад +4

    Здравствуйте Алексей можно пожалуйста отдельный урок по esp8266, заранее спасибо)))

    • @UK8CFT
      @UK8CFT 3 года назад +5

      Его зовут Александр))

  • @tov.engineer41
    @tov.engineer41 3 года назад

    Пасибо за уроки, чуваки

  • @mknapweed
    @mknapweed 3 года назад

    В 0:12 после рабочего дня это было так жоска, будто я снова на первой субботней паре по квантам)))
    Но все равно спасибо, тема важная.

  • @НикитаСолотин
    @НикитаСолотин 3 года назад +4

    Ждём урока по FreeRTOS!!!!!!!

    • @ArduNotes
      @ArduNotes  3 года назад

      не имеет смысла на AVR

    • @Shef-Il
      @Shef-Il 3 года назад +1

      @@ArduNotes почему, я лично реалезовал пару проектов на нем? Согласен что на АВР это не очень эфективно, но тем не менее возможность разделить на потоки различные не ресурсоемкие процедуры на потоки иногда очень удобно

    • @AndrewPstvt
      @AndrewPstvt 3 года назад +2

      @@Shef-Il согласен, но все-таки обычные ардуинки лучше не использовать для таких проектов. FREERTOS может быть полезен на esp, тем более на 32 он уже "предустановлен".

    • @MAD_ALEX
      @MAD_ALEX 3 года назад +1

      @@Shef-Il зачем, если есть миллис и на крайний случай прерывания таймера

    • @Shef-Il
      @Shef-Il 3 года назад

      @@MAD_ALEX не в обиду, но если вы спрашиваете "зачем" и вспоминаете про "милис" вы явно очень начинающий, ведь это тоже самое что спросить"зачем вы летите в Египет, ведь солнце светит и на Урале"

  • @rekusrenatas7349
    @rekusrenatas7349 3 года назад +1

    kruto raskazal, vsio ponetna

  • @liftoman_777
    @liftoman_777 3 года назад

    Шикарный канал, почему рекламмы нет

    • @ArduNotes
      @ArduNotes  3 года назад

      у нас только JLCPCB на рекламе, остальное не подходит по тематике =)

  • @Alexander_Bond
    @Alexander_Bond 3 года назад

    красававчег очень актуально и подробно обьяснено

  • @MRBORODA33
    @MRBORODA33 3 года назад +2

    Говори медленнее, приходится скорость воспроизведения снижать.

    • @Slavasil
      @Slavasil 3 года назад +1

      оверклок мозга включается в /boot/config.txt

  • @mega_mak
    @mega_mak 2 года назад

    Отличное видео, давай тольно на СИ...

    • @ArduNotes
      @ArduNotes  2 года назад

      А оно на чем, на бейсике или питоне?..

  • @Alexey_samodelkin
    @Alexey_samodelkin 3 года назад +2

    Сделай web для теплицы!

  • @ferafon
    @ferafon 3 года назад

    Супер тема !!!

  • @МихаилИргер-ц8с
    @МихаилИргер-ц8с 2 месяца назад

    Респект!

  • @Next__Play
    @Next__Play 3 года назад

    Хорошее видео. Лайк.

  • @BorisYutube
    @BorisYutube 2 года назад

    ВАЖНО! (тем кто как я не понимает ничего в Ардуино и коде подсказка).
    В строчке if (Serial.available() > 1){
    заменить 1 на 0 что бы было if (Serial.available() > 0){
    Тогда всё будет работать нормально.

    • @BorisYutube
      @BorisYutube 2 года назад

      А ещё такой затык. Не хотел работать один из цифровых пинов нормально. Работал только после значения за 200. Но когда поменял пин, всё заработало как надо. Так что имейте ввиду. Может кому то будет полезно.

  • @0bit030
    @0bit030 3 года назад +1

    Мощщщно! =)

  • @ifynk
    @ifynk 3 года назад

    Актуально, спасибо.

  • @BigCrash911
    @BigCrash911 2 года назад

    очень простые уроки, возьмем строку, это делается так {прошло 3 секунды видео} вот так легко и просто мы получили межгалактический зведолет с возможностью генерации субатомных частиц

  • @apt-toni
    @apt-toni 2 года назад +1

    Добрый день, подскажите будет обзор на параллельную работу ардуино, (по двум проводам соединяются от 2 и более), аналогия с ARINC 629.

  • @willgoonandon3050
    @willgoonandon3050 3 года назад +2

    А есть подробный урок про организацию ethernet связи?

  • @alexeytitov5863
    @alexeytitov5863 3 года назад

    В примере чтения строки с записью нуля в конце - ошибка же :) переполнение стека при получении 30 символов! (ruclips.net/video/Ul03Vkg9A40/видео.html) Нужно или буфер выделять с запасом на 0 в конце, или в метод чтения передавать макс длину на 1 меньше.

  • @НурбийТеучеж-д2э
    @НурбийТеучеж-д2э 3 года назад

    Подкину идею, счётчик ёмкости аккумов с логгированием на ПК, графики, ограничение по току, напряжению 🙂

  • @de_fer5322
    @de_fer5322 3 года назад +1

    давай ещё код Хэмминга на ардуйне =)

    • @ArduNotes
      @ArduNotes  3 года назад +1

      будет, я свою реализацию замутил

  • @leruetkins5565
    @leruetkins5565 2 года назад

    А я использую json формат, передаю данные через lora, вроде тоже неплохо работает.

  • @dmitriibannikovasx
    @dmitriibannikovasx 8 месяцев назад

    Интересно, почему про sscanf никто не говорит? Очень удобная стандартная функция.

  • @yuripanov9670
    @yuripanov9670 3 года назад

    Класс!

  • @CrazyPit
    @CrazyPit 3 года назад

    контрольная сумма должна быть. и это правильно

    • @MAD_ALEX
      @MAD_ALEX 3 года назад

      Об этом в отдельном уроке

  • @unclestepa
    @unclestepa 3 года назад +1

    Респект

  • @armagedon8328
    @armagedon8328 6 месяцев назад

    SPI это тоже протокол передачи данных?

  • @tohalav8740
    @tohalav8740 3 года назад

    В библиотеке Gyveroled в файле ExtFont для esp8266 надо include заменить на просто иначе не компилируется

    • @ArduNotes
      @ArduNotes  3 года назад +1

      странно, у людей компилилось. Мб у тебя яверсия ядра старая?

    • @AndrewPstvt
      @AndrewPstvt 3 года назад +1

      Да, у всех esp свои файлы работы с памятью и т.д. Это нужно учитывать и подключать нужные библиотеки с помощью макросов.

  • @stalkerfromvoronezh4493
    @stalkerfromvoronezh4493 3 года назад

    Лучше всего байтовые протоколы фиксированного размера

  • @wowus1987
    @wowus1987 3 года назад

    Годнота!

  • @dmitry7331
    @dmitry7331 3 года назад

    Сделай видео,как с приложения.

  • @andreybreski8190
    @andreybreski8190 Год назад

    Столкнулся с интересным косяком. Стояла скорость 230400 и как я не изголялся, функция parsInt выдавала только первую цифру ( пример, отправляем 453, получаем 4) либо ноль... Я весь моск сломал в попытке понять что делаю не так..... Потом снизил скорость до "классических" 9600 и все заработало как положено. Может кому пригодится.

  • @led-avto
    @led-avto 2 года назад

    Очень полезный урок.
    Подскажите что лучше использовать чтобы парсить ответы от SIM800.
    Уперся в то, что.... чем больше добавляют условий и обработку запросов, то строка (at) приходящая от SIM800 уменьшается...
    while (SIM800.available() > 0) {
    at += char(SIM800.read());
    }
    if (at.indexOf("ATD" + phon + ";") > -1)
    {
    *******
    } else if (at.indexOf("+CLIP:") > -1
    {
    *******
    }

  • @idodoska
    @idodoska 2 года назад

    Привет.
    Я хочу сделать голосовую интеллект для телевизора, чтоб использовать место пульта.
    Как собрать плату для данного задач. Спасибо заранее

  • @elliotalderson6609
    @elliotalderson6609 3 года назад

    Если по сериалу управляет человек, то такой код будет оправдан, однако если какая-либо программа, то логичнее создать структуру (СИшную, с определенным размером) и в readBytes передавать указатель на структуру, тогда все поля автоматом заполнятся

    • @ArduNotes
      @ArduNotes  3 года назад

      попробуй отправить сишную структуру из программы на питоне или из андроид приложения, сделанного в конструкторе =) я не просто так сказал, что текстовые строки - самый универсальный способ, не просто так люди JSON придумали и всё на нём сейчас работает.

    • @elliotalderson6609
      @elliotalderson6609 3 года назад

      @@ArduNotes На уровне приложений можно конечно парсить json и в ряде случаев так делать правильно как раз из за читаемости таких форматов. Однако если мы программируем МК, то часто производительность критична. Один лишь заголовок с двумя/тремя полями в большинстве случаев легко в байт поместится (upd: в простейших случаях конечно, но смысл понятен) . А в python кстати есть тип для работы с байтами, даже есть модуль struct.

    • @elliotalderson6609
      @elliotalderson6609 3 года назад

      @@ArduNotes Кстати поля структуры можно делать массивами char, результат будет тот же самый, что вы показали, только писать парсер не надо

  • @megaavolt
    @megaavolt Год назад

    case 2 после обрыва передачи продолжает выдавать шим по последним данным,как обнулить если данные не приходят?

  • @idodoska
    @idodoska 2 года назад

    Привет.
    Я хочу сделать голосовую интеллект для телевизора, чтоб использовать место пульта.
    Как собрать плату для данного задач. Сделайте пожалуйста видеоролик по этой направления.
    Спасибо заранее

  • @Venyaka
    @Venyaka 3 года назад +2

    Я первый, ахахаха, впервые такое пишу ))

  • @ruslansanzharov5825
    @ruslansanzharov5825 Год назад

    8:47 тут проблема - если массив заполнится полностью на 30 символов, то мы зайдем за его границы. в readBytesUntil надо оставить 30, а в переменной надо сделать char data[30 + 1];

  • @nichey5717
    @nichey5717 2 года назад

    Вроде писал всё по гайду, но когда хотел отключить светодиод он посылает меня куда подальше и не хочет отключать его в чём может быть проблема? Может в моей рукожопости?

  • @hum8016
    @hum8016 3 года назад +1

    Сейчас стандартный формат для такого обмена данными это JSON. Изобретать свои смысла особо не имеет, только гиморрой получим при подключении к какому-нибудь HomeAssistant, Node-RED итд

    • @derungebundener2019
      @derungebundener2019 3 года назад

      А JSON можно как-то подружить под нужды самодельной аппаратуры управления для разных летающих игрушек?

    • @hum8016
      @hum8016 3 года назад

      @@derungebundener2019 Библиотеки для работы с ним есть под любые платформы. ArduinoJson например.

    • @krutoyinfo
      @krutoyinfo 3 года назад +2

      Ты пару чисел передаешь, какой нах джсон? Наслушался гдето модных слов?

    • @hum8016
      @hum8016 3 года назад

      @@krutoyinfo Тут чувак в видео ключи-значение передает, типа между множеством устройств. Включая MQTT, веб итд. Лучше JSON для этого ничего не придумано. Если б речь шла только про два устройства и UART, я бы наверное такого не предложил.

    • @ArduNotes
      @ArduNotes  3 года назад

      а ты видел сколько килобайт памяти он отжирает на Ардуино и с какой скоростью работает?? Использовать настолько дикий инструмент для передачи нескольких данных это прям моё почтение...

  • @V.USA.L
    @V.USA.L 3 года назад

    2-3 месяца назад заказал эти платки за 2$. А сейчас - 3.5-4$ из за дефицит чипов.

  • @urashus7965
    @urashus7965 3 года назад

    опробовал вариант Вариант 3 (однобуквенный, без задержки) прекрасно но только с положительными числами при подачи минусового числа выход 0 можно это както исправить уже мозги кипят

  • @Wu33up
    @Wu33up 2 года назад

    Теоретически можем использовать, что б метеостанция скидивала график смени всех датчиков?

  • @DmitriyParubov
    @DmitriyParubov 11 месяцев назад

    У меня такая проблема возникла. Ардуино мега, на ней CD модуль, GPS, Oied дисплей, Барометр DPS310, Кнопка сброса высоты, nRF24L01 Модуль с CD модулем отказался работать по SPI , Пришлось через сериал1 меги принять сериал с ардуино нано на которой установил nRF24L01( он принимает коррекцию высоты с базы, что то типо псевдо ртк ) Этот сигнал при включении сразу принимается, А ПОСЛЕ ВЫКЛЮЧЕНИЯ БАЗЫ ЧЕРЕЗ ЭННОЕ ВРЕМЯ, СИГНАЛ ВСЁ ЕЩЁ МЕЛЬТИШИТ В ПОРТУ МЕГИ СЕКУНД 20, а так же записывается на карту, В ЧЕМ МОЖЕТ БЫТЬ ПРОБЛЕМА ???

  • @txchumberrxnumber6604
    @txchumberrxnumber6604 Год назад

    Протокол передачи данных лучше использовать от Алекса Гивера или писать самому. Официальные протоколы связи медленные и пожирают память и крайне тупо написаны.

  • @Gameplayer55055
    @Gameplayer55055 3 года назад +1

    Как грамотно организовать этот парсер в большом проекте, где много датчиков и мейнлупов?
    Хочу урок про альтернативу pthread в ардуинках

    • @ArduNotes
      @ArduNotes  3 года назад +2

      потоки на микроконтроллерах - как костыль в одном месте. Мейнлуп должен быть один, всё остальное - по таймеру на миллис, как в самых базовых уроках. Что то требовательное ко времени - в прерываниях таймера. Про потоки забыть

  • @les12001
    @les12001 Год назад

    Интересно насколько сложно реализовать отправку данных через протокол CAN

    • @micromaster4405
      @micromaster4405 Год назад +1

      Программный can?) А вы знаете толк в извращениях..)

  • @яданиил-п9з
    @яданиил-п9з 3 года назад +1

    Го мэш на есп забахаем? Или общение по блютузу

  • @AndrewPstvt
    @AndrewPstvt 3 года назад

    Урок полезный, но есть один недочет по библиотеке парсинга. При выделении памяти в методе "split" на переменную "str" стоит волшебный коэффициент "2". При моих экспериментах возникала ошибка памяти HEAP CORRUPT, устранить которую я смог только повысив коэффициент до 10.

    • @ArduNotes
      @ArduNotes  3 года назад

      на какой платформе тестировался код? Здесь 2 имеет смысл веса указателя, в AVR это 2 байта. Я заменил двойку на sizeof(char*), должно везде работать корректно

    • @AndrewPstvt
      @AndrewPstvt 3 года назад

      @@ArduNotes Я тестировал на esp32. Да, т.к. она 32 битная, то размер указателя на ней 4 байта. Затупил)

  • @vaga99_-_17
    @vaga99_-_17 3 года назад

    Хе вспомнил прошивку марлин и отправку gcode на принтер, ведь там все так же

  • @ОлегСергеевич-м2к
    @ОлегСергеевич-м2к 3 года назад

    всегда пинал данные по i2c, изменившиеся байты и целочисленные(деля на 4 (analog) или смещая

    • @ArduNotes
      @ArduNotes  3 года назад

      держи в курсе)

  • @alexandr_84
    @alexandr_84 3 года назад

    Подскажите, пожалуйста, parseint обрабатывает числа со знаком "минус"?

  • @эсдесИор
    @эсдесИор 2 года назад

    а когда управления аруино и светодиодами по otg на смартвоне

  • @Sergey.Volkov
    @Sergey.Volkov 3 года назад

    Как удостовериться что пакет принят полностью, и закончен по символу терминатора, а не таймауту? у меня когда пакеты идут часто они иногда смешиваются и всё плохо становится

  • @andreyusok6229
    @andreyusok6229 3 года назад

    чтото мне это напоминает протокол tcpip на минималках

  • @Мойевропейскийжидобандеровский

    А готовые протоколы типа протобуф или жсон есть?