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

Поділитися
Вставка
  • Опубліковано 5 лют 2025

КОМЕНТАРІ • 338

  • @bumbarabun
    @bumbarabun 3 роки тому +26

    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 3 роки тому

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

    • @dmitrykolesov1651
      @dmitrykolesov1651 Рік тому

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

  • @notsaucemanofficial
    @notsaucemanofficial 3 роки тому +67

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

  • @ilya7zz
    @ilya7zz 3 роки тому +26

    О, как раз актуально! :)

  • @IgorStepochkin
    @IgorStepochkin 3 роки тому +13

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

  • @sorochinsky
    @sorochinsky 3 роки тому +10

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

  • @gebolat7812
    @gebolat7812 3 роки тому +5

    Я вот в этом ничего не понимаю, но очень внимательно посмотрел. Думаю нужно несколько раз пересмотреть

  • @maxfrec8487
    @maxfrec8487 3 роки тому +15

    Омск опять смотрит! Лайк за видео!

  • @G-P_H-T
    @G-P_H-T 3 роки тому +8

    Приветствую Александр.
    Ой как просится парсинг на гайвер-контрол тепличный, аж в немоготу ))) Спасибо за добротные уроки ардуинщика!

  • @encoder10101
    @encoder10101 3 роки тому +5

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

  • @--r3381
    @--r3381 3 роки тому +5

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

  • @МорозИлья-ж3г
    @МорозИлья-ж3г 3 роки тому +27

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

  • @multitube_original
    @multitube_original 3 роки тому +11

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

  • @ruslan.zhumabai
    @ruslan.zhumabai 3 роки тому +2

    Решено много вопросов в голове. Однозначно лайк за таких видос.

  • @ВасилийШумилов-о8ь
    @ВасилийШумилов-о8ь 3 роки тому +1

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

  • @gdmsave
    @gdmsave 3 роки тому +3

    Спасибо! Именно то, чего не хватало))

  • @anatolytitov4169
    @anatolytitov4169 3 роки тому +4

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

    • @derungebundener2019
      @derungebundener2019 3 роки тому +1

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

    • @krutoyinfo
      @krutoyinfo 3 роки тому

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

    • @MAD_ALEX
      @MAD_ALEX 3 роки тому

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

    • @anatolytitov4169
      @anatolytitov4169 3 роки тому

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

  • @AwesomeAlexey
    @AwesomeAlexey 3 роки тому +1

    Алекс, за уроки респект, многим будет полезно)
    Хочу предложить ещё один вариант, более простой с точки зрения наглядности и простоты реализации, при этом такой же по вычислительной сложности
    Я у себя на стмках использую структуры, которые побайтово передаю. Можно даже битовые поля юзать для состояний светодиодов и прочих булевых штук
    При этом можно как делать одну структуру для разных команд - первое поле означает саму команду, второе поле означает значение команды, можно так же несколько полей делать спокойно (ну или хотя бы писать, сколько их, в первом байте)
    И для команд, имхо, гораздо удобнее запихать всё в enum, тогда читаемость кода возрастает, проще писать и отлаживать, а для проца enum это тот же инт, просто "с названиями"
    Либо второй вариант со структурами - передавать структуру состояния, в которой задавать все параметры сразу, просто подряд
    Единственная проблема, которая может возникнуть, это разных способ хранения структур (маловероятно), битовых полей (очень вероятно), если такие используются. У разных платформ (ПК - Ардуина) может быть разный порядок следования битов в битовых полях, тогда будет проблема
    Но для связи ардуинка-ардуинка, есп-есп или стм-стм, вариант прямо супер рабочий и ультра удобный, советую присмотреться))
    Пы.Сы.: да, коммент на двух видосах, потому что здесь он ещё актуальнее))

    • @ArduNotes
      @ArduNotes  3 роки тому

      передача байтовым потоком - тема для отдельного урока

  • @boriskash1985
    @boriskash1985 3 роки тому +2

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

  • @Evgeniy_topp
    @Evgeniy_topp 3 роки тому +1

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

  • @lorensstudio3233
    @lorensstudio3233 3 роки тому +16

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

    • @Ivan_sev
      @Ivan_sev 3 роки тому

      Мне тоже нужно

    • @slv8507
      @slv8507 3 роки тому

      Присоединяюсь! Например такая задача: массив данных (фрейм буфер) отправлять на процессинг и там отрисовывать, чтоб в маленький экран не вглядываться. Тут нужно будет как то синхронизироваться. Вроде бы получилось, но что делать если буфер содержит те же данные что для синхронизации используются?

    • @krutoyinfo
      @krutoyinfo 3 роки тому

      У тебя ж com порт есть. Открывай его с компа и читай

  • @pavelv882
    @pavelv882 Рік тому +1

    Спасибо, очень интересный урок получился. Может быть добавить еще пример, как две ардуинки могут управлять друг-другом, чтобы обмен информацией шел между ними в разном направлении, можно наверное интересный проект сделать.

  • @illya-litkin
    @illya-litkin 3 роки тому +9

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

    • @ArduNotes
      @ArduNotes  3 роки тому +8

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

    • @bbnmn4800
      @bbnmn4800 3 роки тому +3

      @@ArduNotes когда

  • @igorpr.8188
    @igorpr.8188 3 роки тому +6

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

  • @e-benz
    @e-benz 3 роки тому +2

    Алекс, спасибо за урок, буду благодарен если разберешь общение ардуино с сервером

  • @igelbox.
    @igelbox. 3 роки тому +8

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

  • @alkatrazbd2314
    @alkatrazbd2314 3 роки тому

    Высший класс! только начал изучать с++

  • @lakosh889
    @lakosh889 3 роки тому +1

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

  • @user-Master1969
    @user-Master1969 Рік тому

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

  • @hutoryanin
    @hutoryanin 3 роки тому +2

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

  • @ser.jovtok
    @ser.jovtok 3 роки тому +2

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

  • @SIM31r
    @SIM31r 3 роки тому +3

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

  • @ag4540
    @ag4540 3 роки тому

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

  • @tiMer23
    @tiMer23 3 роки тому

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

  • @ЕвгенийДвинянин-ч3й

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

  • @pisyakamushkin704
    @pisyakamushkin704 3 роки тому

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

    • @tim4ig
      @tim4ig 3 роки тому

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

    • @ArduNotes
      @ArduNotes  3 роки тому

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

    • @ArduNotes
      @ArduNotes  3 роки тому

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

  • @МаксимСимаков-ъ4м
    @МаксимСимаков-ъ4м 3 роки тому

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

  • @tkaisar
    @tkaisar 3 роки тому +1

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

  • @vladimirl675
    @vladimirl675 5 місяців тому +1

    Крутяк!

  • @Цербер-ч2э
    @Цербер-ч2э 3 роки тому

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

  • @mknapweed
    @mknapweed 3 роки тому

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

  • @MihaiTeSla
    @MihaiTeSla 3 роки тому +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

  • @zloslov
    @zloslov 2 роки тому +1

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

  • @rekusrenatas7349
    @rekusrenatas7349 3 роки тому +1

    kruto raskazal, vsio ponetna

  • @Specter690655
    @Specter690655 3 роки тому +2

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

  • @elenapoplos9537
    @elenapoplos9537 3 роки тому

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

  • @QazaksTanos
    @QazaksTanos 3 роки тому

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

  • @НикитаУшаков-г7п

    Спасибо, Alex🤝

  • @j_ArtVG
    @j_ArtVG 3 роки тому

    Спасибо, Алекс!

  • @tov.engineer41
    @tov.engineer41 3 роки тому

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

  • @mrAlexandrSmith
    @mrAlexandrSmith 3 роки тому

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

  • @alxlavr
    @alxlavr 3 роки тому +3

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

  • @ravil6018
    @ravil6018 3 роки тому

    Изумительно! Спасибо большое! :)

  • @apt-toni
    @apt-toni 2 роки тому +1

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

  • @OnTheWayToTheDirection
    @OnTheWayToTheDirection 3 роки тому +1

    Просьба пояснить момент 15:09 в видео. Получается, что теперь мы парсим, только если в буфере что - либо изменилось? А до этого парсили только если serial.avaliable?

  • @ilyavenner
    @ilyavenner 3 роки тому

    Неопределённое поведение в уроке. Найс! (Сарказм.)

  • @0bit030
    @0bit030 3 роки тому +1

    Мощщщно! =)

  • @maxfrec8487
    @maxfrec8487 3 роки тому +3

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

    • @krutoyinfo
      @krutoyinfo 3 роки тому +1

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

    • @kalobyte
      @kalobyte 3 роки тому

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

  • @сергейбаглаев-ф3х
    @сергейбаглаев-ф3х 3 роки тому

    void loop() {
    // асинхронное чтение через AsyncStream
    if (Serial.available()) {
    char str[30];
    int amount = Serial.readBytesUntil(';', str, 30);
    str[amount] = NULL;
    int data[10]; //буфер интов
    int count = 0;//счетчик интов
    char* offset = str;//указатель для работы
    while (true) {
    data[count++] = atoi(offset);//пишем число в буфер
    offset = strchr(offset,','); //поиск след запятой
    if (offset) offset++; //если это не null -продолжаем
    else break; //иначе покидаем цикл
    }
    for (int i = 0; i < count; i++) Serial.println(data[i]);
    }
    }

  • @ВаняВано-ч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 деуатентификатор? Это что же такое "естественное", "классическое" и "самое известное", что о нём даже Гугл не слыхивал?
      Поясните это на понятном языке, пожалуйста.

  • @liftoman_777
    @liftoman_777 3 роки тому

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

    • @ArduNotes
      @ArduNotes  3 роки тому

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

  • @BorisYutube
    @BorisYutube 3 роки тому

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

    • @BorisYutube
      @BorisYutube 3 роки тому

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

  • @ferafon
    @ferafon 3 роки тому

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

  • @user-im6py6or6v
    @user-im6py6or6v 3 роки тому +1

    Спасибо большое за уроки. А нет таких же библиотек для udp? Или может будет урок именно по upd esp32. Нашел пару уроков, но там передают одно состояние кнопки и все. Так какой же это парсинг.

  • @МихаилИргер-ц8с
    @МихаилИргер-ц8с 7 місяців тому

    Респект!

  • @Next__Play
    @Next__Play 3 роки тому

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

  • @ruslansanzharov5825
    @ruslansanzharov5825 Рік тому

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

  • @androidpasha
    @androidpasha 3 роки тому +1

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

  • @wowus1987
    @wowus1987 3 роки тому

    Годнота!

  • @doshik9117
    @doshik9117 3 роки тому +4

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

    • @UK8CFT
      @UK8CFT 3 роки тому +5

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

  • @marengobelboa5905
    @marengobelboa5905 Рік тому

    Здравствуйте. Если мне нужно отправить на телефон показатели датчиков, например температуру воздуха, через Bluetooth, какой конструктор лучше использовать для создания приложения в телефоне?

  • @lossofsoul3693
    @lossofsoul3693 Рік тому

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

  • @yuripanov9670
    @yuripanov9670 3 роки тому

    Класс!

  • @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
    {
    *******
    }

  • @ЕвгенийДвинянин-ч3й

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

  • @urashus7965
    @urashus7965 3 роки тому

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

  • @ihypnocat
    @ihypnocat Рік тому +1

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

  • @BigCrash911
    @BigCrash911 2 роки тому

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

  • @ifynk
    @ifynk 3 роки тому

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

  • @willgoonandon3050
    @willgoonandon3050 3 роки тому +2

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

  • @idodoska
    @idodoska 3 роки тому

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

  • @dmitriibannikovasx
    @dmitriibannikovasx Рік тому

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

  • @armagedon8328
    @armagedon8328 10 місяців тому

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

  • @Wu33up
    @Wu33up 3 роки тому

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

  • @НурбийТеучеж-д2э
    @НурбийТеучеж-д2э 3 роки тому

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

  • @it8874
    @it8874 3 роки тому +1

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

  • @leruetkins5565
    @leruetkins5565 3 роки тому

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

  • @сергейбаглаев-ф3х
    @сергейбаглаев-ф3х 3 роки тому

    добрый вечер! Парсим N чисел выводит вместо терминатора 0 например 1,2; выводит 1 2 0 если нет знака ; терминатора то 1 2 Как убрать 0 ?

  • @НикитаСолотин
    @НикитаСолотин 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 не в обиду, но если вы спрашиваете "зачем" и вспоминаете про "милис" вы явно очень начинающий, ведь это тоже самое что спросить"зачем вы летите в Египет, ведь солнце светит и на Урале"

  • @idodoska
    @idodoska 3 роки тому

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

  • @tohalav8740
    @tohalav8740 3 роки тому

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

    • @ArduNotes
      @ArduNotes  3 роки тому +1

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

    • @AndrewPstvt
      @AndrewPstvt 3 роки тому +1

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

  • @mega_mak
    @mega_mak 2 роки тому

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

    • @ArduNotes
      @ArduNotes  2 роки тому

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

  • @unclestepa
    @unclestepa 3 роки тому +1

    Респект

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

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

  • @megaavolt
    @megaavolt 2 роки тому

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

  • @ДИМАХАМРАЕВ-ю8к
    @ДИМАХАМРАЕВ-ю8к 2 роки тому

    Подскажите как применить харт протокол к ардуино

  • @ЧеловеквВысокомзамке

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

  • @alexeytitov5863
    @alexeytitov5863 3 роки тому

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

  • @Sergey.Volkov
    @Sergey.Volkov 3 роки тому

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

  • @Alexey_samodelkin
    @Alexey_samodelkin 3 роки тому +2

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