Принцип работы UART

Теоретические основы принципа передачи данных по шине UART.

Пікірлер: 106

  • @mrBostoneSash
    @mrBostoneSash2 жыл бұрын

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

  • @denkazakov4898
    @denkazakov48984 жыл бұрын

    когда человек на пальцах может объяснить сложные вещи, это значит, что он не просто ориентируется в теме, это значит что он может обучить этому других. этому нужно поучиться профессорам в универах.

  • @ivan17444
    @ivan17444 Жыл бұрын

    Творческий подход к материалу. Предельно ясно и доступно. Молодец.

  • @user-wt2yw8bm1t
    @user-wt2yw8bm1t3 ай бұрын

    После такой информаций о UART.! Не сложно создать свое программное уарт!👍

  • @TheMaks018Channel
    @TheMaks018Channel2 жыл бұрын

    Качественное объяснение, большое спасибо!

  • @avr_stm_pro2955
    @avr_stm_pro29552 жыл бұрын

    Классный канал 👍 спасибо что делитесь своими знаниями

  • @user-xu2sw2iy2g
    @user-xu2sw2iy2g2 жыл бұрын

    Спасибо тебе, добрый человек. Где ж ты был раньше)))

  • @M_a_k_0_s
    @M_a_k_0_s5 ай бұрын

    Спасибо за разжевывание темы, все понятно 👍

  • @ivolco8667
    @ivolco86675 жыл бұрын

    Все понятно, на пальцах объяснил. Спасибо.

  • @ANDRII_FR
    @ANDRII_FR Жыл бұрын

    Красавчик Реально понимаешь свое нелегкое дело, я понял 80% инфы с первого просмотра

  • @daniil8150
    @daniil81504 жыл бұрын

    Огромное спасибо. Очень хорошо преподнесено.

  • @user-hn4ef7ek4n

    @user-hn4ef7ek4n

    Жыл бұрын

    Хорошее объяснение для ламеров

  • @vladimirstar9745
    @vladimirstar97456 жыл бұрын

    Спасибо, великолепно, осветил тему очень понятно! )

  • @genadimanoilenko1466
    @genadimanoilenko14664 жыл бұрын

    спасибо за объяснения. начало положенно!

  • @Speed_runner_666
    @Speed_runner_666 Жыл бұрын

    Великопный ролик. Автор, большое спасибо)

  • @x_mouzzer_x
    @x_mouzzer_x5 жыл бұрын

    спасибо, стало многое понятно

  • @user-nh4vg7lg7z
    @user-nh4vg7lg7z Жыл бұрын

    Супер видео!!!! Спасибо!!!

  • @San4ik62
    @San4ik62 Жыл бұрын

    Здравствуйте, вот смотрите если сигнал будет 1011111, как приемник поймет что передача не закончилась? и что это передается все еще 1 пакет?

  • @user-om3gz5if1v

    @user-om3gz5if1v

    5 ай бұрын

    В протоколе описано. Программисты руководствуются протоколом. Это официальное соглашение как писать обработку физического уровня. Если ты программист-перехватчик, то придется перебирать протоколы на соответствие перехваченным данным, если программист пишет и передатчик и ( или) приемник, он руководствуется выбранному протоколу с определенными набором параметров, программист другой стороны должен знать какой протокол и какие параметры надо использовать.

  • @user-jl5yi5tz2t
    @user-jl5yi5tz2t10 ай бұрын

    Благодарствую 🤝🤝🤝

  • @nikpugaev
    @nikpugaev5 жыл бұрын

    Спасибо, все разложил понятно и доходчиво. Ждём продолжения.

  • @flexoalex4168

    @flexoalex4168

    5 жыл бұрын

    А продолжение уже есть. Программный uart для закрепления.

  • @volodymyr2665
    @volodymyr26654 жыл бұрын

    Молодец! Нового я ничего не взял... надеялся больше о регистрах речь будет но на х1.5 скорости смотрится отлично

  • @TheDanil123456789
    @TheDanil1234567897 жыл бұрын

    Спасибо!!!

  • @TheLuter89

    @TheLuter89

    6 жыл бұрын

    Хорошо объяснил

  • @user-mp6ge7kf2y
    @user-mp6ge7kf2y4 жыл бұрын

    СПАСИБО

  • @evgenyvaltorin5330
    @evgenyvaltorin53302 жыл бұрын

    Очень доходчиво. Спасибо! А вот такой момент- Есть bms плата от шуруповвёртного аккумулятора ( известного бренда))) которая была первоначально залита смолой, которую я благополучно расковырял тонким паяльником всего лишь за две недели))) На плате стоит контролер mega 168 pa. Так же jst разъемы два штуки. И две площадки с контактами по 3 штуки ( без инициалов) Но подозреваю одна из них uart. Вопрос: есть способ определить на них tx и rx? И можно ли через них, если же это uart скопировать прошивку контроллера. Не выпаевая его?

  • @2-garin_snake
    @2-garin_snake5 жыл бұрын

    Чуть не уснул . Вася с петей утомили... концовка сумбур и думать не надо ,:))))))))))

  • @iMatveich
    @iMatveich8 ай бұрын

    Шина же это когда может быть больше двух устройств? Кроме феди может быть и андрей и сергей и другие города?

  • @sanek7629
    @sanek7629 Жыл бұрын

    Thanks!

  • @user-lt3ro2gb9z
    @user-lt3ro2gb9z2 жыл бұрын

    Про какой форум Вы говорите в начале?

  • @liftoman_777
    @liftoman_7772 жыл бұрын

    Классное видео! Спасибо! А не подскажете, если посылка 14 байт, то будет 14 стартовых импульсов?

  • @flexoalex4168

    @flexoalex4168

    2 жыл бұрын

    Да

  • @user-cv6hi1mm7z
    @user-cv6hi1mm7z6 жыл бұрын

    Спасибо за объяснение. А если вдруг не пройдет проверку на четность? И получается этот способ по четности только 50 на 50 сможет определить целостность пакета?

  • @flexoalex4168

    @flexoalex4168

    6 жыл бұрын

    Что значит не пройдет? Если проверку не пройдет, значит байт пришел битый. А более точную проверку нужно проводить на уровне протокола общения. Например MODBUS

  • @va.leriai3989
    @va.leriai39894 жыл бұрын

    Приветствую автора видео. Не понятно в какой момент и как указываем битрейт

  • @Magomed86
    @Magomed86 Жыл бұрын

    краткость талант

  • @ANTON515291
    @ANTON5152916 жыл бұрын

    Представим что в конце передается 0101111 устройство как поймет что оно не на постоянку врубилось 1, а что это еще данные идут, или идет договоренность сколько бит ждать?

  • @flexoalex4168

    @flexoalex4168

    6 жыл бұрын

    Антон Кузнецов на каждый бит выделен квант времени. 1/битрейт.

  • @BAYAN-qq1tt

    @BAYAN-qq1tt

    6 жыл бұрын

    как понять приемнику что сеанс окончен, если будет сигнал 01010111?

  • @flexoalex4168

    @flexoalex4168

    6 жыл бұрын

    Жарас Капашев Читаем выше...

  • @iam9695

    @iam9695

    6 жыл бұрын

    Здравствуйте! У меня тоже возник подобный вопрос, но Вы, видимо, его не правильно поняли (или мы что-то не понимаем)... Вы объясняли, что количество бит приёма-передачи может быть не фиксированным значением, т.е. 7-9 бит. Как устройство понимает, что 8-й (к примеру) бит - стоповый, а не продолжение пакета?

  • @flexoalex4168

    @flexoalex4168

    6 жыл бұрын

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

  • @user-fr9sn4cf6h
    @user-fr9sn4cf6h6 жыл бұрын

    спасибо)то есть я могу связать свой контроллер по уарту с контроллером холодильника и обмениваться данными?,-например

  • @flexoalex4168

    @flexoalex4168

    6 жыл бұрын

    Владислав Иванов Да, если известен протокол обмена.

  • @chertopoloh170
    @chertopoloh1704 жыл бұрын

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

  • @flexoalex4168

    @flexoalex4168

    4 жыл бұрын

    Частотомер и анализ импульсов.

  • @vika_papa
    @vika_papa7 жыл бұрын

    Что такое регистры в микроконтроллере и как их искать? Они указаны в прошивке? А если мне нужно считать прошивку из контроллера?

  • @flexoalex4168

    @flexoalex4168

    7 жыл бұрын

    Регистры - это ячейки памяти получаемые в момент производства кристалла. Отсюда они имеют фиксированное расположение в памяти. То есть каждый регистр расположен по строго фиксированному адресу. К примеру если посмотреть регистр настройки направления передачи данных порта B у Atmega8, то он будет равен 0x17. Для того чтобы не запоминать все эти адреса, создают константы директивой препроцессора. Например фирма Атмел в своих средах разработки уже заранее прописала все константы и константа адреса данного регистра выглядит так: #define DDRB _SFR_IO8(0x17). Теперь нам не нужно запоминать адрес регистра, а достаточно написать DDRB = 0xFF; тем самым настроив весь порт на вывод данных. С UART дела обстоят так же. Например регистр приема передачи UDR расположен по адресу 0x0C и объявлен константой #define UDR _SFR_IO8(0x0C). Все регистры кроме защитных энергозависимые и после рестарта или обесточивания МК сбрасываются в состояния по умолчанию. Если интересно узнать адреса других регистров, то это можно сделать почитав документацию на МК. В описании любого регистра всегда указан его адрес.

  • @vika_papa

    @vika_papa

    7 жыл бұрын

    Flexo Alex, Спасибо. Пока сложно, буду изучать дальше

  • @constantinzzz8562
    @constantinzzz85626 жыл бұрын

    шина это принцип связи когда на линии подключено БОЛЕЕ ДВУХ устройств, когда два устройства это связь по принципу точка-точка, так вот уапп это УЗЕЛ в микроконтроллере(и не только) который изначально предоставлял связь по принципу точка-точка и только с развитием появилась возможность использовать связь по принципу ОБЩАЯ ШИНА когда стали подключать несколько устройств. вообще понятие шина относится к внутренним связям на материнской плате пк, так же ее применяют к внутренним связям внутри микроконтроллера, как то шина адреса, шина данных. уапп "забирает" данные с шины данных шина uart в природе не существует определения!

  • @user-sp6qs4to3u
    @user-sp6qs4to3u5 жыл бұрын

    Скажите пожалуйста. Как предается двухбайтовые данные по UART? Допустим мне нужо передать 16 битное число Uint16_t. А данные передаются по 8 бит?

  • @flexoalex4168

    @flexoalex4168

    5 жыл бұрын

    Разбить на два байта и передать по очереди, а на приемной стороне собрать обратно.

  • @vitfed933
    @vitfed9334 ай бұрын

    Спасибо, только не понял в чем отличие между rs232 или 485 или др вроде там то же самое

  • @flexoalex4168

    @flexoalex4168

    4 ай бұрын

    RS-232 это относительный интерфейс, то есть данные передаются относительно линии GND, а RS-485 дифференциальный интерфейс. Передача данных идёт относительно обеих линий. Последний более защищён от наводок.

  • @GeberLukum
    @GeberLukum Жыл бұрын

    Доброго времени суток скажите под заказ сможете написать драйвер на шине uart ?

  • @flexoalex4168

    @flexoalex4168

    Жыл бұрын

    Нет

  • @rootandriell
    @rootandriell5 жыл бұрын

    Так сколько проводов нужно для uart? Как устройство понимает что этот пакет был для него? Как устройства решают какое из них будет говорить теперь?

  • @flexoalex4168

    @flexoalex4168

    5 жыл бұрын

    Для UART нужно три провода. Это RX-для приема, TX-для передачи и GND для разницы потенциалов. Кто из устройств начинает передачу решает программист. UART независем, так как имеет отдельные линии для передачи и приема. Пакет начинается со старт бита. По UART общаются только два устройсва не более. Для больше устройств нужен RS485

  • @romaromanov5381

    @romaromanov5381

    Жыл бұрын

    ​@@flexoalex4168 Спасибо!Значит только Вася и Федя .ага ясно

  • @hamletayvazyan7687
    @hamletayvazyan76874 жыл бұрын

    немного не понял момент с двумя стопбитами

  • @romaromanov5381
    @romaromanov5381 Жыл бұрын

    Удивительный и непостижимый для меня этот электронный мир !Меняют прошивку к примеру,как кристаллы меняют свои параметры,свойства?.Если микроконтроллер состоит грубо из миллионов транзисторов ,пол миллиона превращаются в NPN из PNP и наоборот ,и сохраняют своё состояние,?Охренеть, как можно было такое придумать,фантастика!!!

  • @Vadik11111
    @Vadik111114 жыл бұрын

    Ну разжевал))

  • @Whatf-7-
    @Whatf-7-2 жыл бұрын

    Я просто сказал аурт случайно, и появилось это видео.

  • @pavelsanych2960
    @pavelsanych29602 жыл бұрын

    получается что сперва смотрим какая шина, затем выбираем протокол?

  • @flexoalex4168

    @flexoalex4168

    2 жыл бұрын

    Почему. Например MODBUS, может работать по линиям UART, UTP, WiFi, bluetooth и тд.

  • @pavelsanych2960

    @pavelsanych2960

    2 жыл бұрын

    @@flexoalex4168 в галаве бардак)))

  • @pavelsanych2960

    @pavelsanych2960

    Жыл бұрын

    @@flexoalex4168 пересматриваю)))

  • @ElenaPonomareva666
    @ElenaPonomareva6663 жыл бұрын

    33:55 "- Четыре единицы - это четное число ? - Нет". Со стоповым битом тоже непонятно - как приемник отличает стоповый бит, имеющий высокий потенциал от бита данных с таким же высоким потенциалом ?

  • @flexoalex4168

    @flexoalex4168

    3 жыл бұрын

    Четыре единицы это чётное число. Дело в том что в UART ведется подсчет количества единиц, а не их значение в бинаре. Четыре единицы, это четыре штуки, а не число 15. Стоповый бит отлавливается получением уровня в определенное время исходя из таймслотов самих бит. Мы же можем определить 59-ю секунду минуты)

  • @MegaKMC123
    @MegaKMC123 Жыл бұрын

    Как сделать два передающих устройства и один слушает?

  • @flexoalex4168

    @flexoalex4168

    Жыл бұрын

    RS485

  • @pavelsanych2960
    @pavelsanych29602 жыл бұрын

    даль что объясняя разницу протоколов и шины, человек и там и там приводит в пример с машинкой, и в чём разница, и там машинка и там

  • @exRW-
    @exRW-6 жыл бұрын

    СПАСИБО :-)

  • @kirman7187
    @kirman71872 жыл бұрын

    Спасибо всё супер. Но мне кажется или автор путает рисуя шину в виде камаза, поезда и самолета? Шина это дорога-(трасса, ж/д, маршрут самолета), т. е то что соединяет точки маршрута? А вот как раз самолет, поезд и машина это сами байтики которые бегают по шине (сигналы которые устройство посылает в шину на одном конце и которые принимаются на другом)? А протокол описывает как расшифровать эти сигналы-это физический уровень, а информационный как из этих сигналов собирать сообщение и как передавать данные, т. е работа с последовательностью значений или парсинг? Я не прав?

  • @ekd177
    @ekd1774 жыл бұрын

    да полный эпизодец , ьььььььь

  • @Devid241
    @Devid2413 жыл бұрын

    Про JTAG пожалууууса)))

  • @flexoalex4168

    @flexoalex4168

    3 жыл бұрын

    А что про него рассказать?

  • @star-ik
    @star-ik7 жыл бұрын

    Спасибо за старания, но тема не раскрыта. Все смазано...

  • @user-ki5pv2yq1s
    @user-ki5pv2yq1s6 жыл бұрын

    на 30 минуте обманул. приемник ставит в начале таймер на чтение данных не на 52 микросекунды, а на 156 микросекунд, потому что стартовый бит.

  • @user-ns5rd1uh4u

    @user-ns5rd1uh4u

    4 жыл бұрын

    Нет, не обманул, потому что приёмник действительно должен попасть в середину старт бита (отсчитать 52 мкс) для подавления шумов. То есть он проверяет, действительно ли линия находится в нуле, и если да, то отсчитывает 104 мкс для считывания 1-го инфо бита и т.д.

  • @RonyKassini
    @RonyKassini3 жыл бұрын

    почему аудио моно только в левом канале?

  • @flexoalex4168

    @flexoalex4168

    3 жыл бұрын

    Наверное потому что я стоял слева.

  • @RonyKassini

    @RonyKassini

    3 жыл бұрын

    @@flexoalex4168 блин, по ходу и отраженного звука в правом не слышно. чудеса звукоакустические !

  • @AgattagA
    @AgattagA10 ай бұрын

    ниче про RX TX не сказано....

  • @mifcorp1
    @mifcorp16 жыл бұрын

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

  • @aiwashiwanov4463
    @aiwashiwanov44633 жыл бұрын

    Я не понимаю от Васи к Феди. Неужели просто нельзя сказать про величину пакета без автобусов и велосипедов!?

  • @flexoalex4168

    @flexoalex4168

    3 жыл бұрын

    Не все понимают, многим проще на автобусах понимать.

  • @aiwashiwanov4463

    @aiwashiwanov4463

    3 жыл бұрын

    @@flexoalex4168 возможно. наверное просто привык :)

  • @matveiq
    @matveiq6 жыл бұрын

    Непонятно

  • @user-qk7il7eb4b
    @user-qk7il7eb4b3 жыл бұрын

    Water, water, water .....

  • @grifan

    @grifan

    3 жыл бұрын

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

  • @Kazahnot
    @Kazahnot6 жыл бұрын

    Занудное видео вы умеете тянуть резину

  • @taxizztop6052

    @taxizztop6052

    4 жыл бұрын

    Как раз для таких тормозов как я, это идеальное видео.

  • @oruelmaiklmaikl2179
    @oruelmaiklmaikl21795 жыл бұрын

    срана советов . сам плохо услышал и не понял , но учу других . прогресс .

  • @flexoalex4168

    @flexoalex4168

    5 жыл бұрын

    Извини сенсей, облажался. Где Вас услышать можно?

  • @kostya1306
    @kostya13065 жыл бұрын

    Нудятина.... Лекция для детского сада что ли?

  • @flexoalex4168

    @flexoalex4168

    5 жыл бұрын

    Да, это лекция для детского сада. Нужна сухая и прямая теория, топай в ВУЗ.

  • @konteiner843

    @konteiner843

    4 жыл бұрын

    интересно было

  • @andkut6772
    @andkut67723 жыл бұрын

    афтар, что ты несёшь???

  • @grifan

    @grifan

    3 жыл бұрын

    не обращай внимание, это лишняя информация

  • @madmax2872
    @madmax28722 жыл бұрын

    ролик переименуй - типа юарт для слабоумных

  • @user-so1rg5fu8q

    @user-so1rg5fu8q

    Жыл бұрын

    😀😀