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

แชร์
ฝัง
  • เผยแพร่เมื่อ 12 ม.ค. 2017
  • Теоретические основы принципа передачи данных по шине UART.

ความคิดเห็น • 106

  • @mrBostoneSash
    @mrBostoneSash 2 ปีที่แล้ว +13

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

  • @denkazakov4898
    @denkazakov4898 4 ปีที่แล้ว +27

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

  • @vladimirstar9745
    @vladimirstar9745 6 ปีที่แล้ว +7

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

  • @ivolco8667
    @ivolco8667 5 ปีที่แล้ว +8

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

  • @avr_stm_pro2955
    @avr_stm_pro2955 2 ปีที่แล้ว +4

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

  • @BWha1e_1337
    @BWha1e_1337 2 ปีที่แล้ว +4

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

  • @ivan17444
    @ivan17444 ปีที่แล้ว +2

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

  • @genadimanoilenko1466
    @genadimanoilenko1466 4 ปีที่แล้ว +5

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

  • @daniil8150
    @daniil8150 4 ปีที่แล้ว +8

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

    • @user-hn4ef7ek4n
      @user-hn4ef7ek4n ปีที่แล้ว

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

  • @x_mouzzer_x
    @x_mouzzer_x 5 ปีที่แล้ว +11

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

  • @Speed_runner_666
    @Speed_runner_666 ปีที่แล้ว +1

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

  • @M_a_k_0_s
    @M_a_k_0_s 5 หลายเดือนก่อน +1

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

  • @user-xu2sw2iy2g
    @user-xu2sw2iy2g 2 ปีที่แล้ว +2

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

  • @user-wt2yw8bm1t
    @user-wt2yw8bm1t 3 หลายเดือนก่อน +1

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

  • @user-nh4vg7lg7z
    @user-nh4vg7lg7z ปีที่แล้ว +2

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

  • @ANDRII_FR
    @ANDRII_FR ปีที่แล้ว +1

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

  • @San4ik62
    @San4ik62 ปีที่แล้ว +5

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

    • @user-om3gz5if1v
      @user-om3gz5if1v 6 หลายเดือนก่อน +1

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

  • @nikpugaev
    @nikpugaev 5 ปีที่แล้ว +6

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

    • @flexoalex4168
      @flexoalex4168  5 ปีที่แล้ว +1

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

  • @TheDanil123456789
    @TheDanil123456789 7 ปีที่แล้ว +4

    Спасибо!!!

    • @TheLuter89
      @TheLuter89 6 ปีที่แล้ว

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

  • @volodymyr2665
    @volodymyr2665 4 ปีที่แล้ว

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

  • @user-jl5yi5tz2t
    @user-jl5yi5tz2t 10 หลายเดือนก่อน

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

  • @evgenyvaltorin5330
    @evgenyvaltorin5330 2 ปีที่แล้ว

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

  • @iMatveich
    @iMatveich 8 หลายเดือนก่อน

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

  • @user-mp6ge7kf2y
    @user-mp6ge7kf2y 4 ปีที่แล้ว

    СПАСИБО

  • @liftoman_777
    @liftoman_777 2 ปีที่แล้ว +1

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

  • @2-garin_snake
    @2-garin_snake 5 ปีที่แล้ว +3

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

  • @user-cv6hi1mm7z
    @user-cv6hi1mm7z 6 ปีที่แล้ว +1

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

    • @flexoalex4168
      @flexoalex4168  6 ปีที่แล้ว

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

  • @sanek7629
    @sanek7629 ปีที่แล้ว

    Thanks!

  • @va.leriai3989
    @va.leriai3989 4 ปีที่แล้ว

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

  • @user-lt3ro2gb9z
    @user-lt3ro2gb9z 2 ปีที่แล้ว

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

  • @user-fr9sn4cf6h
    @user-fr9sn4cf6h 6 ปีที่แล้ว

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

    • @flexoalex4168
      @flexoalex4168  6 ปีที่แล้ว +2

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

  • @Magomed86
    @Magomed86 ปีที่แล้ว

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

  • @chertopoloh170
    @chertopoloh170 4 ปีที่แล้ว

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

    • @flexoalex4168
      @flexoalex4168  4 ปีที่แล้ว +1

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

  • @ANTON515291
    @ANTON515291 6 ปีที่แล้ว +7

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

    • @flexoalex4168
      @flexoalex4168  6 ปีที่แล้ว +2

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

    • @BAYAN-qq1tt
      @BAYAN-qq1tt 6 ปีที่แล้ว +1

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

    • @flexoalex4168
      @flexoalex4168  6 ปีที่แล้ว

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

    • @iam9695
      @iam9695 6 ปีที่แล้ว +1

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

    • @flexoalex4168
      @flexoalex4168  6 ปีที่แล้ว +8

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

  • @constantinzzz8562
    @constantinzzz8562 6 ปีที่แล้ว +1

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

  • @GeberLukum
    @GeberLukum ปีที่แล้ว

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

  • @user-sp6qs4to3u
    @user-sp6qs4to3u 5 ปีที่แล้ว

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

    • @flexoalex4168
      @flexoalex4168  5 ปีที่แล้ว

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

  • @vitfed933
    @vitfed933 4 หลายเดือนก่อน

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

    • @flexoalex4168
      @flexoalex4168  4 หลายเดือนก่อน

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

  • @vika_papa
    @vika_papa 7 ปีที่แล้ว

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

    • @flexoalex4168
      @flexoalex4168  7 ปีที่แล้ว +6

      Регистры - это ячейки памяти получаемые в момент производства кристалла. Отсюда они имеют фиксированное расположение в памяти. То есть каждый регистр расположен по строго фиксированному адресу. К примеру если посмотреть регистр настройки направления передачи данных порта 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, Спасибо. Пока сложно, буду изучать дальше

  • @Vadik11111
    @Vadik11111 4 ปีที่แล้ว +1

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

  • @hamletayvazyan7687
    @hamletayvazyan7687 4 ปีที่แล้ว

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

  • @exRW-
    @exRW- 6 ปีที่แล้ว

    СПАСИБО :-)

  • @rootandriell
    @rootandriell 5 ปีที่แล้ว +1

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

    • @flexoalex4168
      @flexoalex4168  5 ปีที่แล้ว +2

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

    • @romaromanov5381
      @romaromanov5381 ปีที่แล้ว

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

  • @ElenaPonomareva666
    @ElenaPonomareva666 3 ปีที่แล้ว +1

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

    • @flexoalex4168
      @flexoalex4168  3 ปีที่แล้ว +2

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

  • @ekd177
    @ekd177 4 ปีที่แล้ว

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

  • @pavelsanych2960
    @pavelsanych2960 3 ปีที่แล้ว

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

  • @Whatf-7-
    @Whatf-7- 2 ปีที่แล้ว

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

  • @Devid241
    @Devid241 3 ปีที่แล้ว

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

    • @flexoalex4168
      @flexoalex4168  3 ปีที่แล้ว

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

  • @kirman7187
    @kirman7187 2 ปีที่แล้ว

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

  • @MegaKMC123
    @MegaKMC123 ปีที่แล้ว

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

  • @pavelsanych2960
    @pavelsanych2960 3 ปีที่แล้ว

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

    • @flexoalex4168
      @flexoalex4168  3 ปีที่แล้ว

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

    • @pavelsanych2960
      @pavelsanych2960 3 ปีที่แล้ว

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

    • @pavelsanych2960
      @pavelsanych2960 ปีที่แล้ว

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

  • @user-ki5pv2yq1s
    @user-ki5pv2yq1s 6 ปีที่แล้ว +4

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

    • @user-ns5rd1uh4u
      @user-ns5rd1uh4u 4 ปีที่แล้ว

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

  • @romaromanov5381
    @romaromanov5381 ปีที่แล้ว

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

  • @star-ik
    @star-ik 7 ปีที่แล้ว +14

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

  • @RonyKassini
    @RonyKassini 3 ปีที่แล้ว

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

    • @flexoalex4168
      @flexoalex4168  3 ปีที่แล้ว +1

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

    • @RonyKassini
      @RonyKassini 3 ปีที่แล้ว

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

  • @AgattagA
    @AgattagA 10 หลายเดือนก่อน

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

  • @mifcorp1
    @mifcorp1 6 ปีที่แล้ว +3

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

  • @aiwashiwanov4463
    @aiwashiwanov4463 3 ปีที่แล้ว

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

    • @flexoalex4168
      @flexoalex4168  3 ปีที่แล้ว +1

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

    • @aiwashiwanov4463
      @aiwashiwanov4463 3 ปีที่แล้ว

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

  • @matveiq
    @matveiq 6 ปีที่แล้ว +1

    Непонятно

  • @user-qk7il7eb4b
    @user-qk7il7eb4b 3 ปีที่แล้ว

    Water, water, water .....

    • @grifan
      @grifan 3 ปีที่แล้ว +1

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

  • @oruelmaiklmaikl2179
    @oruelmaiklmaikl2179 5 ปีที่แล้ว

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

    • @flexoalex4168
      @flexoalex4168  5 ปีที่แล้ว +7

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

  • @Kazahnot
    @Kazahnot 6 ปีที่แล้ว +2

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

    • @taxizztop6052
      @taxizztop6052 4 ปีที่แล้ว +5

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

  • @kostya1306
    @kostya1306 5 ปีที่แล้ว

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

    • @flexoalex4168
      @flexoalex4168  5 ปีที่แล้ว +8

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

    • @konteiner843
      @konteiner843 4 ปีที่แล้ว

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

  • @andkut6772
    @andkut6772 3 ปีที่แล้ว

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

    • @grifan
      @grifan 3 ปีที่แล้ว

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

  • @madmax2872
    @madmax2872 2 ปีที่แล้ว +1

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