STM32 #1. UART - теоретическая и практическая реализация
ฝัง
- เผยแพร่เมื่อ 28 ก.ย. 2024
- В этом видео кратко знакомимся с необходимой документацией для дальнейшего обучения, теоретической части, а также документацией для практической работы с библиотеками HAL и LL. Практически настраиваем работу STM32F407VG UART в режимах Polling mode и Interrupt mode, а также раскрываем обман компании ST платы ревизии STM32F4-DISC1.
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Станьте спонсором канала, и вы получите доступ к эксклюзивным бонусам. Подробнее:
/ @nrelectronics
или через Яндекс-деньги:
money.yandex.r...
Какой же ты бог. А есть советы по литературе на работу с мк STM32? Откуда столько знаний? Очень хотелось бы дойти до такого уровня понимания и владения информацией в этой сфере
RM и HAL description вам в помощь.
Литература только на аглицком.
Спасибо!
спасибо за ролик, после просмотра у меня возник вопрос. вот многие говорят о недоработках библиотеки HAL , есть ли смысл ею пользоваться?
Пожалуйста. Да с Бартом вроде норм работает кстати, а вот что происходит после сброса Кейла и порчи двух первых байт непонятно.
2:20 - Не думаю, что многочасовые видео по МК - плохо
Я такого же мнения. Чем больше информации выдается тем все же лучше. Зато другие начинают говорить, что мол много теории и мало практики, или наоборот много практики и мало теории или просто типа много слов))) всем не угодить, не получается. 🦔
Для этого есть таймлайн. А вот когда информации нет вот это действительно плохо.
Это же каким нужно быть джедай мастером...что бы в этой stm разобраться....про поиск ошибок я вообще молчу на это может уйти лет 10....
С появлением опыта всё идёт немного быстрее 😉
@@NRelectronics Ардуино по с равнению с stm детский лепет на лужайке....если не секрет это у вас хобби или зарабатываете этим на жизнь ?
И хобби и зарабатываю на жизнь, так повезло мне.
у кого со своим массивом вылезают кракозябры перед текстом, добавьте sizeof(TX_data), вместо 30
Респект за подобные советы.
👍🏼
хоть бы прокомментировали)
Сейчас F дороже H, особенно дорогой F103)))
F103 да, дорогой, чуть ли не как F407.
самое популярное и ходовое.
Так и есть. Что популярное сильно выросло в цене, прямо страшно!
👍👍👍👍👍👍👍👍👍👍👍👍👍👍
Не перехвалите) Материала много, хоть несколько видео по юарту делай...
Зачем это перемалывать в сотый раз, такого у всех полно. А вот личного опыта никто не транслирует.
Не все всë знают к сожалению. В начале серий всегда так для более опытных.
А потом начинается боль, как сделать на hal то - что просто невозможно сделать с использованием хала.
Такова жизнь, как сделать на хале, как сделать на CMSISe)))
Спасибо за полезную и интересную информацию. НО! Чего уж Вы "выплёвываете"? Сразу " выхуяривайте"! Чего стесняться!
Ну не так прям уж, вы что!))
А где занудная мисс России?
Т.е. кто?)
У меня STM32F746. В основном UART работает как надо, но иногда бывает что не включается и байты не принимаются. Я по таймеру определяю затык и делаю запуск UART заново. Причем, затык случается только в начале работы. С одной стороны, я нашел решение, но с другой, мне это очень не нравится. Кто-нибудь сталкивался? Как победить?
Возможно неправильно организовано прерывание, обработка флагов и/или DMA.
А разве максимальное время таймаута не 16 бит? ведь если просмотреть HAL_MAX_DELAY там 0xFFFFFFFFU, и ошибку выдавало так как при extern инициализацию не делают.
Да, 16 бит максимальное время таймаута, ну я немного миллисекунд уменьшил))
Интересно что будет если попытаться залить прошивку для другого МК?
IDE может не разрешить из-за не совпадения ID МК.
почему бы не разобрать CM SIS? В разы меньше кода.. Даже касаемо ЮСАРТ
В плей-листе CMSIS разбор юарта обязательно будет, не волнуйтесь.
Возможен ли закз на програмирование gsm платы?
Напишите мне в телегу. Пока я перегружен заказами...
Если возможно в будущем разобрать пример принятия неизвестного количества данных используя опцию timeout,спасибо!
Отличные ролики! спасибо огромное за такую информацию!
Спасибо и вам. С таймаутрм вы имеете ввиду приём в polling mode режиме? Рекомендую все же прерывания использовать и не иметь этой проблемы.
Спасибо
Здравствуйте, прошу Вас уточнить что вызывает прерывание из конца видео. Благодарю за ответ.
Здравствуйте. Конкретнее напишите.
@@NRelectronicsесли в конце видео должна происходить работа по прерыванию, почему "Hello.." передаётся непрерывно? Разве оно не должно писаться, только при введении сообщения?
#вТоп!
Полезной информации много, но очень медленно и очень много лишних слов. Если скорость еще можно вдвое увеличить, то с лишними словами ничего не сделаешь. Очень тяжело слушать.
Если много лишних слов у меня то слушайте тогда народстрим, там многому научитесь в кавычках! Всем угодить не могу, учебный курс, и так кратко прошелся по талмутам многотысячным...
ну как бы так себе очень...
Для начинающих много слов это благо! Не надо быстрее, кому надо быстрее пожалуйста x2. Если для вас много слов, то стоит просто читать мануал...
Здравствуйте спасибо за видео курс, ещё можете подготовить видеокурс по Cube-X crypto library?
Здравствуйте. Пока в планах нет.
@@NRelectronics Спасибо, было бы хорошо, если бы вы могли сделать видео урок по этому тему, или можно пройти по вашей личке, есть одна работа по этой теме?
Точно работы не было.
Подскажите, пожалуйста, где брали проект в альтиуме отладки от ST
На сайте st.com. Можете в чатике в телеге стукнуть я вам скину проект в альтиуме.
@@NRelectronics Спасибо большое. Помогли очень. Нашел сам
Пожалуйста, обращайтесь.
Спасибо за видео. Непонятно кто является первичным инициатором прерывания: из внешнего мира ничего в порт не отправляется, сам контроллер инициативно в главном цикле ничего в порт не высылает. Т.е. изначально событий приема/передачи нет.
Пожалуйста. Прерывание вашей основной программы main.c. Когда упало что-то у вас в юарт, она (main) приостанавливается, вызываются обработчики прерывания, вы в них обрабатываете/сохраняете или ещё что-то делаете с даннымии, потом main продолжает работу с остановленного места.
@@NRelectronics да, но в данной демонстрации же ничего в юарт не падает (или это осталось за кадром?)
Вы плохо концовку видео смотрели. Пересмотрите пожалуйста последни 7 минут внимательно. Сначала в while я просто слал данные в ПК, а во втором случае уже по прерыванию основной программы, без поллинга, именно в режиме прерывания непрерввно гнал приветствие и принимал уже данные по превыванию из терминалки. Всё там есть.
@@NRelectronics Я тоже не понял, кто взвёл флаг начать передачу по UART? В главном цикле только светодиод моргает. Кто даёт команду начать передачу?
Ещё не разобрался, но вероятно UART_IT_TC - это не флаг разрешения прерывания, а флаг начала передачи, который никто не снимает.