STM32. Урок 13. USART. Теория. Часть 1

  Рет қаралды 9,588

NR.electronics

NR.electronics

4 жыл бұрын

Очередной урок по интерфейсу передачи данных. В полном объеме рассматривается интерфейс последовательной передачи данных - USART, как в общем от компании ST, так и на примере микроконтроллера STM32F103C8T6 отладочной платы "BluePill". В первой части видео рассматривается виды подключений, структура интерфейса, протокол передачи данных, а также настройки интерфейса. Рассказывается работа и особенности использования USART в режима Polling Mode - режиме опроса и Interrupt Mode - режиме работы с прерываниями.
00:10 Начало
01:00 Разница между USART и UART
03:03 UART спецификация
08:01 Виды подключений
11:04 Протокол передачи данных
17:11 Общие и настройки МК STM32F103C8
28:56 Выбор скорости интерфейсы и формула настройки
31:36 Структурная схема интерфейса USART МК STM32F103C8
33:04 Отображение возможных ошибок интерфейса
35:05 Работа UART в режиме Poling Mode. Настройки
39:48 Работа UART в режиме Interrupt Mode. Настройки
41:32 Виды возможных прерываний
Вы можете помочь каналу Яндекс-деньги:
money.yandex.ru/to/4100115727...

Пікірлер: 77
@leoalex3271
@leoalex3271 4 жыл бұрын
Вызывает уважение основательный подход автора к изложению материала. Видно, что человек старается донести информацию до слушателя, а не просто так побалаболить. Так держать!
@NRelectronics
@NRelectronics 4 жыл бұрын
Стараюсь именно для слушателей! Спасибо! Не забывайте про лайки, единственное, что стимулирует мой канал.
@namename2031
@namename2031 2 жыл бұрын
14:55 На TX считается количество единиц, а на RX проверяется то ли количество единиц пришло? Если бы так было, то неважно сколько бы бит потерялось, бит чётности бы это распознавал. Значит происходит что то другое. Значит навеное на TX считается количество единиц и проверяется чётное ли это количество, а на RX проверяется на чётность единиц. Отличный урок, нигде такой полной информации не находил.
@NRelectronics
@NRelectronics 2 жыл бұрын
Бит чётности при определённых потерях может и не отработать, с ним надо быть аккуратнее. Хотя применяется повсеместно для проверки целостности передачи посылок. Проверяется количество принятых байт, или если кольцевой буфер применён то вообще по кругу всё берётся. Почитайте про кольцевой буфер юарта, у меня небыло кажется ролика...
@namename2031
@namename2031 2 жыл бұрын
23:56 Полудуплекс надо настраивать как приёмопередатчик? 8:53 Потому что здесь TX написано для полудуплекса.
@NRelectronics
@NRelectronics 2 жыл бұрын
По памяти не помню, раз так приводил значит так и есть. Обычно юарт дуплексом используется...
@user-qe2ii8hv8k
@user-qe2ii8hv8k 3 жыл бұрын
17:25 подробная расшифровка структуры UART
@NRelectronics
@NRelectronics 3 жыл бұрын
Да, именно так.
@namename2031
@namename2031 2 жыл бұрын
13:47 А если бит чётности не включён? В этом случае передаётся всё равно 8 бит, при 8 битной передаче? Бит чётности просто выставлен в ноль? Или передаваться будет 7 бит из за того что бит чётности отключён? Или если Parity bit выставлен в 0, то это бит чётности, а если Parity bit выставлен в 1, то это бит нечётности?
@NRelectronics
@NRelectronics 2 жыл бұрын
Бит чётности при Parity bit 1. Бита не чётности нет. Там было вроде при его включении 9 бит полезных данных не передаётся. В RM описано.
@namename2031
@namename2031 2 жыл бұрын
@@NRelectronics > Бита не чётности нет. (No parity) - без бита четности. (Even parity) - с битом проверки на четность. (Odd parity)-с битом проверки на нечетность.
@NRelectronics
@NRelectronics 2 жыл бұрын
Послушайте. Если вы всё знаете зачем меня отвлекаете? 😀
@namename2031
@namename2031 2 жыл бұрын
​@@NRelectronics Вы написали что бита нечётности нет. Но вопрос был про немного другое. Я всего не знаю, но если хотите, писать вам не буду.
@NRelectronics
@NRelectronics 2 жыл бұрын
Да, нет, почему, пишите)
@alexkronin2663
@alexkronin2663 4 жыл бұрын
Не могу понять, как биты могут быть нецелые. 0.5 или 1.5. Подскажите, может тут какой-то другой смысл?
@NRelectronics
@NRelectronics 4 жыл бұрын
Да, может, именно так. Не ошибка это.
@NRelectronics
@NRelectronics 4 жыл бұрын
Определяется длительностью бита.
@BoolAB76
@BoolAB76 2 жыл бұрын
Чуть неверная формулировка у Вас. Бит как единица информации может быть тллько 0 и 1. В ролике говорится про длительность сигнала, которая может быть равна 1, 1.5, 2 длительности бита. И тут противоречия нет.
@namename2031
@namename2031 2 жыл бұрын
3:39 Это из документции: The USART only supports bit rates up to 115.2 Kbits/s 4.5 Мегабит/с это наверное сам USART поддерживает, но не STM32?
@NRelectronics
@NRelectronics 2 жыл бұрын
И stm32.
@namename2031
@namename2031 2 жыл бұрын
@@NRelectronics Это из документции: The USART only supports bit rates up to 115.2 Kbits/s
@NRelectronics
@NRelectronics 2 жыл бұрын
Это вы что-то неправильно прочитали. Поддерживает разные скорости, очень гибко.
@namename2031
@namename2031 2 жыл бұрын
26:00 Что это за стрелочки справа и слева? 2/8, 3/8 Анализ идёт на основе трёх бит: 4,5,6 биты. Это 3 бита из 8 ми. Для чего эти стрелочки справа и слева? Эти биты справа и слева от sampled value не используются ведь для анализа шума. Или это просто показано количество бит? Справа 2/8 это без стоп бита и 3/8 это вместе со стоп битом?
@NRelectronics
@NRelectronics 2 жыл бұрын
Оверсэмплинг. Выборка по 8 битам или 16 одного полезного бита данных, для шумных линий связи. Вроде норм всё рассказано и показано.
@namename2031
@namename2031 2 жыл бұрын
@@NRelectronics Что такое оверсемплинг я понимаю. Непонятно что по бокам этой выборки из 3х бит находится. Почему там стрелочки. Нет, о чём я спрашиваю точно непонятно.
@NRelectronics
@NRelectronics 2 жыл бұрын
Смотрите пожалуйста внимательно. Можно открыть RM подсмотреть ;)
@namename2031
@namename2031 2 жыл бұрын
@@NRelectronics 26:01 То есть некоторые значения выборки среднее 3 из восьми. Здесь используется ну какой то хитрый вариант 2 из восьми 3 из восьми. -------------- Ну да, всё очень подробно, что это я в самом деле. Выборка 3 из восьми в середине и называется sampled values. А там где стрелочки- это уже не sampled values.
@namename2031
@namename2031 2 жыл бұрын
Мажоритарная избирательная система -при которой избранными считаются кандидаты, получившие большинство голосов избирателей в своём избирательном округе. 111- это 100% ное голосование. 110 две единицы это большинство, но выдаст ошибку, шум.
@user-pp2hz7ic7h
@user-pp2hz7ic7h 4 жыл бұрын
Можете дать доступ к второй части видео.
@NRelectronics
@NRelectronics 4 жыл бұрын
Выполнена просьба моих дорогих подписчиков!)
@user-pp2hz7ic7h
@user-pp2hz7ic7h 4 жыл бұрын
@@NRelectronics Спасибо!
@user-pp2hz7ic7h
@user-pp2hz7ic7h 4 жыл бұрын
@@NRelectronics наконец-то пришла моя STM32F4-DISCOVERY теперь мое убочение по вашим урокам продолжется с новой силой!
@NRelectronics
@NRelectronics 4 жыл бұрын
@@user-pp2hz7ic7h отлично, я вас поздравляю с получением хорошей отладочной платы!
@NRelectronics
@NRelectronics 4 жыл бұрын
Если не секрет, то где и за сколько купили F4Disco ?
@namename2031
@namename2031 2 жыл бұрын
44:02 Это непонятно было. В режиме прерываний не ожидается флаг события. Почему в режиме прерываний не надо использовать режим опроса?
@NRelectronics
@NRelectronics 2 жыл бұрын
Polling mode? Он загружает мк непрерывным опросом, этого плохо для выполнения других задач. Поэтому если режим прерывания, то polling mode в топку.
@namename2031
@namename2031 2 жыл бұрын
@@NRelectronics Polling mode ожидает Стоп бит. Это ведь нормально. UART должен ведь знать когда закончилась передача 9 бит. В режиме прерывания Стоп бит не нужен?
@NRelectronics
@NRelectronics 2 жыл бұрын
Ожидает стоп бит. Но первый вопрос был про другое, почему в режиме прерывания не надо использовать режим опроса.
@namename2031
@namename2031 2 жыл бұрын
@@NRelectronics Да, про это как мне кажется в видео ничего не было или было непонятно. В режиме прерывания не нужен стоп бит? Как тогда UART в режиме прерывания узнаёт что передача 9 бит окончена?
@NRelectronics
@NRelectronics 2 жыл бұрын
Вы сваливаете в одну кучу два разных режима. Вы предварительно настраиваете юарт на определённое количество стоп битов и они всегда проверяются в обоих режимах.
@alfarabius
@alfarabius 4 жыл бұрын
Звук бы погромче. Все бегунки выкрутил, но приходится прислушиваться.
@NRelectronics
@NRelectronics 4 жыл бұрын
Проверял, звук громкий.
@alfarabius
@alfarabius 4 жыл бұрын
@@NRelectronics Вы серьезно? Вот сейчас на телефоне запустилось видео, звук на максимум, а из динамика какой-то шепот (
@NRelectronics
@NRelectronics 4 жыл бұрын
@@alfarabius серьезно. У меня на максимальной громкости на телефоне я "ору". Только что проверил.
@NRelectronics
@NRelectronics 4 жыл бұрын
@@alfarabius сейчас на телефоне послушаю "ор" обоих в сравнении))) Разница есть, ладно, если принципиально это в следующий раз уровень громкости подниму.
@alfarabius
@alfarabius 4 жыл бұрын
@@NRelectronics никакой принципиальной позиции, просто обратная связь.
@user-db1zg5jd4m
@user-db1zg5jd4m 4 жыл бұрын
Мне как лузеру, не понятно было в части про конфигурации. Очень много каких-то аббревиатур совсем ни о чем не говорящих.
@NRelectronics
@NRelectronics 4 жыл бұрын
Есть список аббревиатур в интернете, можно посмотреть. Если все приводить, то видео будет двухчасовое, и так подзатянул.
@NRelectronics
@NRelectronics 4 жыл бұрын
Смотрите чаще мои видео и будете всё знать ;-)
@user-db1zg5jd4m
@user-db1zg5jd4m 4 жыл бұрын
@@NRelectronics смотрю по мере выхода)) Поэтому давайте почаще)))
@NRelectronics
@NRelectronics 4 жыл бұрын
@@user-db1zg5jd4m стараюсь во всю!) На прошлых выходных два сделал, обычно делаю один. В эти выходные очень постараюсь сделать также два ролика...так что ожидайте ;-)
Это реально работает?!
00:33
БРУНО
Рет қаралды 3,6 МЛН
Опасность фирменной зарядки Apple
00:57
SuperCrastan
Рет қаралды 12 МЛН
STM32. Урок 20. SPI. Serial Peripheral Interface
40:20
NR.electronics
Рет қаралды 9 М.
STM32. Урок 14. DMA. Direct Memory Access
41:23
NR.electronics
Рет қаралды 12 М.
ЯЗЫК АССЕМБЛЕРА С НУЛЯ | #1 НАЧАЛО
54:43
UART DMA, Interrupt Stm32 in CubeIDE. Code example.
12:37
Мудров
Рет қаралды 4,6 М.
GPIO STM32 Схемотехника портов ввода-вывода
13:06
Это реально работает?!
00:33
БРУНО
Рет қаралды 3,6 МЛН