Программирование МК STM32. УРОК 5. Библиотека HAL. STM32 CUBE MX. Таймеры

  Рет қаралды 60,470

narod stream

narod stream

Күн бұрын

Пікірлер: 117
@alpagutsencer
@alpagutsencer 7 жыл бұрын
Hi mate! You're such a good instructor. I cant understand Russian language but i have learned so much things just watching. Thanks. I hope you'll remake this cources in english. Hope you have a great day!
@salvatoretrey9697
@salvatoretrey9697 3 жыл бұрын
instablaster...
@Minas__Morgul
@Minas__Morgul 5 жыл бұрын
Автор большое, даже огромное, спасибо! Ваш канал (и сайт) совместно с уроками Sappise самые лучшие в руском сегменте тюбика!
@месяцвъябрь
@месяцвъябрь 8 жыл бұрын
Отличная подача материала , без спешки и подробно . Респект.
@narodstream552
@narodstream552 8 жыл бұрын
Спасибо!
@WOODIX
@WOODIX 8 жыл бұрын
Прекрасные уроки!
@narodstream552
@narodstream552 8 жыл бұрын
Спасибо за оценку!
@aerotachka
@aerotachka 7 жыл бұрын
Занимаюсь сейчас таймерами. В HAL есть несколько макросов, позволяющих на лету менять параметры таймера и получать его значения. Так что можно не вводить сои переменные. Например _HAL_TIM_SET_AUTORELOAD меняет период, __HAL_TIM_GET_COUNTER позволяет получать значение счетчика. __HAL_TIM_SET_COUNTER -устанавливает значение счетчика.
@arturgibadullin4948
@arturgibadullin4948 3 жыл бұрын
Если приведенный код на работает, то попробуйте закомментировать HAL_TIM_Base_Start(&htim6). Оставить только с IT. Мне помогло
@yakovdruker6227
@yakovdruker6227 3 жыл бұрын
Кстати да. Такая же тема.
@nikitasokolov6778
@nikitasokolov6778 2 жыл бұрын
Не удалось разобраться, чем это вызвано? Я долго голову ломал над проблемой, пока на ваш комментарий не наткнулся
@harrys_potter
@harrys_potter 11 ай бұрын
HAL_TIM_BASE_Start_IT запуск таймер + прерывание , HAL_TIM_BASE_Start - запуск тока таймера;зачем автор пишет это два раза не понятно ... отсюда и косяк .@@nikitasokolov6778
@Mary713es
@Mary713es 9 ай бұрын
Спасибо, не известно с чем это связано?
@basilmiller1962
@basilmiller1962 4 ай бұрын
Ля, легенда, мужик
@DrargonsM
@DrargonsM 8 жыл бұрын
поосновательно и интересно!
@mr_hexus
@mr_hexus 8 жыл бұрын
Не надо ничего руками в конфигах CubeMX править при дублировании. Новый проект сохраняется через "Save Project As/Save the Project in a new file" (в кубе). Исходники вот потом замещать в новом созданном.
@ВасёкПупкин-ч1н
@ВасёкПупкин-ч1н 7 жыл бұрын
Согласен! Притом копировать можно прям в Eclipse. За Видео Автору оргромное спасибо!
@smollett4623
@smollett4623 10 ай бұрын
Здравствуйте, можете подсказать, за счет чего входит в прерывание? Из-за update event?
@prizhimin
@prizhimin 7 жыл бұрын
HAL_TIM_Base_Start не нужно использовать. Достаточно только HAL_TIM_Base_Start_IT.
@narodstream552
@narodstream552 7 жыл бұрын
Ну да, теперь я в курсе. спасибо!
@РоманОстанков-з8н
@РоманОстанков-з8н 3 жыл бұрын
Я из 2021, если не закомментить эту строку совсем, то таймер вообще не взводится (потрачен кусочек жизни и нервов)
@geghzvryh1840
@geghzvryh1840 3 жыл бұрын
@@РоманОстанков-з8н А я думал, почему лыжи не едут совсем :D
@IliveInAlmaty
@IliveInAlmaty 3 жыл бұрын
@@РоманОстанков-з8н Спасибо! а я тоже думал что-за фигня, очень жалко конечно что уроки так устарели, от этого очень много несостыковок особенно в кубе
@Russell473
@Russell473 3 жыл бұрын
@@РоманОстанков-з8н я уже тоже подумал, что приехал!!!
@ВалерийСпорыхин-ш4ы
@ВалерийСпорыхин-ш4ы Жыл бұрын
Не загорается зеленый светодиод. Делал все как в уроке, потом еще раз переделал но светодиод как не горел так и не горит. Подскажите пожалуйста что делать. В чем может быть проблема. Отладочная плата такая же.
@СергейЗинченко-о6ю
@СергейЗинченко-о6ю 4 жыл бұрын
Привет.А можешь объяснить зачем 30:30 после HAL_TIM_BASE_Start(&htim6); сразу идет строка HAL_TIM_BASE_Start_IT(&htim6); ?
@harrys_potter
@harrys_potter 11 ай бұрын
затем что он не знает что ..... HAL_TIM_BASE_Start_IT запускает таймер + прерывание; HAL_TIM_BASE_Start ззапускает тока таймер, в его примере это не нужно включать;
@obuhovmi
@obuhovmi 8 жыл бұрын
Здравствуйте. А можно по подробнее про таймер SysTick. И на основе его или другого таймера организовать многозадачный таймер(диспетчер задач) с разными функциями(циклический, одиночный, с задержкой на вкл, выкл функции). Есть конечно RTOS но не всегда его рационально использовать для простых проектов! И по нему хотелось бы уроки увидеть!
@СергейМолочников-ы1ъ
@СергейМолочников-ы1ъ 3 жыл бұрын
Регулируют частату вращения в улочки маленькой или большой на нашем коллектор ном станочке
@statstopfinish
@statstopfinish 7 жыл бұрын
Есть вопрос . Я хочу использовать прерывание таймера, для определения что в UART пришел пакет данных, но обработчик прерывания находится в другом файле stm32f1xx_it.c , и у меня не получается выставить флаг для других функций так как обработчик прерывания не видит глобальных переменных расположены в main.c .Как с этим быть?
@АнтонГореев
@АнтонГореев 4 жыл бұрын
Вечер добрый! Спасибо за уроки. Возникла ошибка при генерации кода, а именно conflicting types for "Error Handler", не подскажите, как исправить?
@Yushik79
@Yushik79 3 жыл бұрын
Здравствуйте только начал изучать STM обзавелся я недавно такой же платой как в видеоуроке. Всё получилось кроме сегодняшнего видеоурока №5, в частности при нажатии на кнопку всё отрабатывается как положено но прерывание не работает зелёный светодиод не мигает. Пересматривал видео, проверял несколько раз, пробовал создать новую конфигурацию в Кубе ничего не помогло. Подскажите где грабли торчат?
@AmosTim
@AmosTim 3 жыл бұрын
Убери HAL_TIM_Base_Start(&htim6); и оставь только HAL_TIM_Base_Start_IT(&htim6);
@Yushik79
@Yushik79 3 жыл бұрын
@@AmosTim спасибо помогло, хотя не пойму почему. Возможно в новых версиях Кеил и Куб разработчики что-то изменили в библиотеках, чтоб это понять надо их разобрать и посмотреть как и какие регистры они пишут.
@atlantghost1803
@atlantghost1803 7 жыл бұрын
Сделайте пожалуйста Урок o CMSIS_in_HAL для 32F103 (где искать как читать писать Cmsis) порты Input/Output регистры... За ранние СПАСИБО. П.С. По подробней о структурах и ссылках, адресах.
@alexanderurezchenko6446
@alexanderurezchenko6446 5 жыл бұрын
Спасибо!
@ye11ow_fpv
@ye11ow_fpv 5 жыл бұрын
Здравствуйте! Благодарю за уроки. Столкнулся с ошибками (17 шт.) такого рода: L6200E: Symbol tim6_counter multiply defined Версия кейла 5.29, куб 4.26. Пользуюсь руководством как в видео за исключением копирования файла main.h, т.к. он в папке с проектом уже есть и, соответственно в этом существующем файле вписываю uint8_t tim6_counter. Помогите скомпилить код)
@spindle853
@spindle853 4 жыл бұрын
Та же беда, удалось найти ответ?
@ye11ow_fpv
@ye11ow_fpv 4 жыл бұрын
@@spindle853 да. Инициализируйте tim6_counter в main.c и экстернальте ее в файле stm32f4xx_it.c, а из main.h сотрите и все должно заработать
@ЕвгенийЮрьев-р2ь
@ЕвгенийЮрьев-р2ь 7 жыл бұрын
Здравствуйте, большое спасибо за уроки! Не могли бы подробней рассказать про прерывания по таймеру и обработку этих событий. (По переполнению и т.д.) И как считать флаг прерывания таймера т.е. почему сработало прерывание ? как это реализовать именно с библиотекой HAL
@narodstream552
@narodstream552 7 жыл бұрын
С этим мне самому еще предстоит разобраться, а времени нет.
@ЕвгенийЮрьев-р2ь
@ЕвгенийЮрьев-р2ь 7 жыл бұрын
Согласен! За это Вам еще раз большое спасибо, что экономите наше своими уроками. Единственная просьба, больше комментариев по ходу действий, про все что вы делаете. Сейчас смотрю Ваши видео про i2c и вы там делали задержку, выбирали тип переменных _IO uint32_t по моему .. Комментируйте, почему именно такую переменную и т.д. даже если у вас это где то есть в уроках, но это же время много не займет или хоть где посмотреть. Когда выставляете флаги какие то и т.д. будет намного интересней
@ТОВБУДКОМПЛЕКТЛТДпромисловаавт
@ТОВБУДКОМПЛЕКТЛТДпромисловаавт 8 жыл бұрын
Спасибо большое за Ваш труд. Очень хорошие уроки. На 13.27 Вы Counter Period тоже уменьшаете на 1, я не нашел подтверждения в руководстве по этому поводу. Если не затруднит - подскажите куда смотреть. Спасибо.
@narodstream552
@narodstream552 8 жыл бұрын
Спасибо за оценку моего труда! Я рад, что Вам нравится. Я тоже не видел нигде. Где-то в подобном моим уроке видел, оттуда и позавидовал. В документации конечно ничего нет. Но автор объяснял, что считаем мы от нуля, поэтому так и пишем. А в других местах видел ровные числа, так что придется как-то определять опытным путём.
@ТОВБУДКОМПЛЕКТЛТДпромисловаавт
@ТОВБУДКОМПЛЕКТЛТДпромисловаавт 8 жыл бұрын
Опытный путь показал, что позавидовали Вы правильно, уменьшать на 1 нужно. Пока игрался, Counter Period поставил 0, ожидая, что он будет равен 1 периоду, но таймер сбрасываться перестал. Потом дочитал: The counter is blocked while the auto-reload value is null. Может кому пригодится.
@narodstream552
@narodstream552 8 жыл бұрын
Спасибо!
@jrkmdv
@jrkmdv 7 жыл бұрын
Таймер - ето счетчик-делитель. А как делить на 0? По етому загружают всегда N-1. В документации ето есть.
@nurali3066
@nurali3066 5 жыл бұрын
external по другому никак? не подключается main.h конфликтует с исходным, если пишешь исходным main.c не работает как можно избавится от этих проблем. заранее спосибо @narodstream
@yakovdruker6227
@yakovdruker6227 6 жыл бұрын
Вопрос. Почему мы объявляем переменную tim6_counter в файле main.h, а не в main.c?
@narodstream552
@narodstream552 6 жыл бұрын
Конституция позволяет (шютка). Давно уже так не делаем, это ранние уроки, можете объявлять где хотите, только тогда во внешние файлы будете подключать через extern, а если в main.h и затем его подключите, то уже extren не нужен. Вам выбирать.
@ДенисМинистерский
@ДенисМинистерский 3 жыл бұрын
НОВЫЙ ПРОЭКТ В КУБЕ СДЕЛАТЬ НЕ ПОЛУЧАЕТСЯ, НЕТ ФАЙЛА С ТАКИМ РАСШИРЕНИЕМ ГДЕ ИДЕТ КОРРЕКТИРОВКА
@Jeriomas
@Jeriomas 5 жыл бұрын
Интересно было-бы разобрать протокол DMX512 на таимерах, в hal.
@Vivavatnik
@Vivavatnik 6 жыл бұрын
спасибо
@markblond5360
@markblond5360 8 жыл бұрын
Володя подскажите пожалуйста, как 3 светодиоды отключить через разное время? Наведите на правильную дорогу))))
@sanaripkg468
@sanaripkg468 8 жыл бұрын
Спасибо за за урок! Хотел спросить при вторичном конфигурировани и генерировании на КУБЕ меин сбрасывается на начальное состояние. Полностью повторил ваш метод с файломи. КУБ 4.15.0 кеил 5. Может где то в настройках мне смотреть?
@narodstream552
@narodstream552 8 жыл бұрын
Вам также спасибо за просмотры! и за оценку! Просто надо писать между комментариями //begin и //end различного уровня. и тогда пользовательский код в этом месте никуда не денется
@markblond5360
@markblond5360 8 жыл бұрын
Володя, а как сделать если при нажатии на кнопку, один светодиод должен гореть, второй отключится через 500мс, 3 через 1000 мс, а 4 через 10000 мс? Необходимо задействовать еще пару таймеров?
@aligatorpe
@aligatorpe 5 жыл бұрын
через флаги вроде как
@egorkomogortsev3700
@egorkomogortsev3700 8 жыл бұрын
доброго времени суток, подскажите пожалуйста мне нужно отмерять миллисекунды, причём разные интервалы как я могу это реализовать? как мне считать значения регистра счётчика и как его обнулить?
@narodstream552
@narodstream552 8 жыл бұрын
Счётчик никакой обнулять не надо. Объявите переменную 32-битную и в ней считайте, инкрементируя её по каким-либо событиям. А по каким - решать Вам. Можно использовать любой таймер, можно использовать переменную uwTick, в которой хранится время с момента включения контроллера. Только не забывайте, что через 49 суток с небольшим она обнулится.
@Дмитрий-х2я4й
@Дмитрий-х2я4й 7 жыл бұрын
Добрый день Вы собираетесь сделать уроки по stm8 микроконтроллерам? Очень мало инфы, не знаю с чего начинать изучение этого камня(((
@narodstream552
@narodstream552 7 жыл бұрын
К сожалению, на данные типы контроллеров пока проекты не разворачивал и не планировал.
@НиколайПолтавский-ч9л
@НиколайПолтавский-ч9л 8 жыл бұрын
Сделал все, как в уроке, но почему то программа заходит в обработчик прерывания только 1 раз после запуска.
@narodstream552
@narodstream552 8 жыл бұрын
Странно. Как будто флаги какие-то не сбрасываются. Скачайте проект и соберите и прошейте его. Проект полностью в архиве по ссылке в описании к данному видео.
@mr_hexus
@mr_hexus 8 жыл бұрын
Counter Period надо ненулевой ставить. Считает от 0 до его значения.
@IliveInAlmaty
@IliveInAlmaty 3 жыл бұрын
Кто из 2021 Не забудтье закоментировать HAL_TIM_Base_Start. А то не запускается
@87Spectr
@87Spectr 7 жыл бұрын
Добрый день! Спасибо за уроки! Что-то не получается скопировать проект вместе с рукописным кодом. Всё делаю по шагам. Видео пересмотрел несколько раз. Всё правильно делаю. На данный момент занимаюсь уроками UART. Дома. До этого на работе учился - и всё получалось. Может в настройках где нужно что исправить?
@narodstream552
@narodstream552 7 жыл бұрын
Здравствуйте! И Вам спасибо за интерес к ресурсу! На сайте, куда приведёт ссылка в описании к видео, внизу странице прикреплён файл с проектом в архиве готовый. Воспользуйтесь сначала им, может разберётесь.
@87Spectr
@87Spectr 7 жыл бұрын
я разобрался!=) оказалось, что нельзя трогать комментарии, которые сформировал cube. при генерации, видимо ищет их чтобы впихнуть код юзера в нужное место и не находит...
@Jensiru
@Jensiru 8 жыл бұрын
Урок супер, ещё бы хотелось чтобы вы выкладывали файлы уроков на файлообменник или яндек-гугл диск. Т.к. код будет постепенно расширяться и если вдруг хотелось бы поэкспериментировать начинающему, то писать всё с самого первого урока должно и ни к чему. Интересно как решить такую задачу: Нажал на кнопку и отпустил при этом загорелись светодиоды и остались в таком положении. Ещё раз нажал и отпустил - все светодиоды погасли. Как делается такое запоминание или как это называется?
@narodstream552
@narodstream552 8 жыл бұрын
+Сергей Аксенов Отличное предложение! Я в принципе в рубрике по MK AVR так и делаю, правда не на файлообменник, а на страничку. Я и планировал делать и здесь также. Но т.к. пока основного кода пока мало, в основном больше автогенерации, то пока не начал, но вскоре я думаю пора, только конечно отдельные файлы, не весь проект.
@Jensiru
@Jensiru 8 жыл бұрын
narod stream ну не знаю, я бы кидал весь проект, так проще новичкам. К тому же, это вам нужно будет запоминать что и где делали и что кидать, а друг у кого не заработало.... А так всю папку на диск и никаких проблем. Ждёмс ещё уроков:)
@narodstream552
@narodstream552 8 жыл бұрын
Сергей Аксенов Я думаю, что если кидать весь проект, то не будет смысла смотреть видео. Ленивые будут просто использовать готовый проект. Смысл видео не дать код, а научить человека мыслить правильно в алгоритмическом смысле. Но тем не менее над данным предложением я подумаю.
@Jensiru
@Jensiru 8 жыл бұрын
narod stream быть может вы и правы, в любом случае спасибо за уроки, они реально помогают изучать МК!
@narodstream552
@narodstream552 8 жыл бұрын
+Сергей Аксенов Спасибо Вам за оценку моего труда! Надеюсь, что в долгу не останусь. Буду стараться делать более качественные и интересные занятия.
@ЮрийМаланчук-е4к
@ЮрийМаланчук-е4к 5 жыл бұрын
прошу помощи) пишу этот урок в CubeIDE, ошибка выбивает 'tim6_counter' undeclared (first use in this function) в чем может быть проблема? спасибо)
@aligatorpe
@aligatorpe 5 жыл бұрын
не объявлена переменная
@ЮрийМаланчук-е4к
@ЮрийМаланчук-е4к 5 жыл бұрын
Poul Egorov спасибо)
@Yushik79
@Yushik79 3 жыл бұрын
Здравствуйте может кто нибудь сталкивался у меня стоит новая версия Кеил 5.35.0.0 и Куб_МХ 6.3.0 если в Кеил оставить включённым компилятор версии 6 и выше то вылезает ошибка ArmClang: error: unable to execute command: Unable to convert command-line to UTF-16: Символ Юникода не имеет сопоставления в конечной многобайтовой кодовой странице. (0x459). При чём в коде и библиотеках (там где он подчеркивает) явных проблем в коде нет, переключение в настройках кодовых страниц не помогает. Если переключить на 5 версию компилятора тогда всё компилится без ошибок и работает. Может кто сталкивался с данной проблемой.
@ELEKTRIK1
@ELEKTRIK1 6 жыл бұрын
Здравствуйте.У меня,что-то не так. Зелёный не мигает,а при нажатии кнопки всё идёт как положено. Подскажите в чём возможная причина :)
@narodstream552
@narodstream552 6 жыл бұрын
проект смотреть надо
@sergeyknyazev1847
@sergeyknyazev1847 2 жыл бұрын
Как получилось пол секунды, хз???
@hks0206
@hks0206 8 жыл бұрын
после того как переделал проект при компиляции keil выдает ошибку, в чем может быть причина?
@narodstream552
@narodstream552 8 жыл бұрын
Смотреть надо. Заархивируйте его, бросьте куда-нибудть в GoogleDisc, например, а ссылочкой в меня киньтесь, можете в личку в контакт или сюда, не важно, посмотрим.
@СергейМолочников-ы1ъ
@СергейМолочников-ы1ъ 3 жыл бұрын
Спрашивают что не спиться. Пью таблетки вот и не спится
@nikolaiuser3190
@nikolaiuser3190 6 жыл бұрын
Вместо того чтобы копировать папку проекта и ковыряться в ее содержимом, не проще ли просто открывать старый проект CUBEом и пересохранить с новым именем ;) ? Легких путей не ищем.
@narodstream552
@narodstream552 6 жыл бұрын
Есть и такой вариант. Но мы переносим вместе с исходным кодом. Времени на это уходит приблизительно от 7 до 15 секунд, я считал. Также мы в папке можем удалить ненужные модули. Вы, видимо предлагаете как-то в другую папку потом файлы с исходными кодами переносить. Мне кажется, это будет в разы дольше. Я доношу такие мысли, которые есть у меня. В этом суть занятий. Я этими мыслями с вами делюсь. И спасибо огромное за то, что вы тоже делитесь со мной своими мнениями!
@seppneimusser5723
@seppneimusser5723 5 жыл бұрын
Timer\Timer.axf: Error: L6200E: Symbol tim6_counter multiply defined (by stm32f4xx_hal_msp.o and main.o). What does it mean? tim6_counter; in main.h tim6_counter = 0; in main.c extern tim6_counter; in stm32f4xx_it.h I understand russian and germany you could describe the problem in russia, english or in german^^ Please help, I'm sitting since 4h on this problem...!!! Complette information: *** Using Compiler 'V5.06 update 6 (build 750)', folder: 'C:\Keil_v5\ARM\ARMCC\Bin' Build target 'Timer' linking... Timer\Timer.axf: Error: L6200E: Symbol tim6_counter multiply defined (by stm32f4xx_hal_msp.o and main.o). Not enough information to list image symbols. Not enough information to list load addresses in the image map. Finished: 2 information, 0 warning and 1 error messages. "Timer\Timer.axf" - 1 Error(s), 0 Warning(s). Target not created. Build Time Elapsed: 00:00:00
@seppneimusser5723
@seppneimusser5723 5 жыл бұрын
I found the solution on your webpage: А также сыпало ошибки в других файлах, … Error: L6200E: Symbol tim6_counter multiply defined … решение - в файле main.h делаем extern uint8_t tim6_counter; , а в файле stm32f4xx_it.c - просто uint8_t tim6_counter;
@Nicolae98
@Nicolae98 4 жыл бұрын
@@seppneimusser5723 спасибо большое !
@aerotachka
@aerotachka 7 жыл бұрын
А не проще новый проект из старого делать с помощью "Save as" в кубе? А старый рукописный код переносить копипастом из main.c
@narodstream552
@narodstream552 7 жыл бұрын
Кому как. Я показываю как надёжно и быстрее и как делаю я. Этот способ помогает особенно когда у Вас будет очень много кастомных библиотек. А как кому поступить - его выбор. У меня на это уходит менее полминуты. Я думаю - время невелико.
@aerotachka
@aerotachka 7 жыл бұрын
Я еще не дошел до кучи кастомных библиотек. Со временем определюсь что удобней. За уроки спасибо. Лучшая подача материала из существующих по stm.
@JONSIMable
@JONSIMable 7 жыл бұрын
Не пойму где скачать hal_user_manual для stm32f103с8е6 подскажите кому не сложно (на сайте ST не нашёл)
@aligatorpe
@aligatorpe 5 жыл бұрын
нужно просто для stm32f103, для этой серии один мануал как я понял
@МаксПро-у3э
@МаксПро-у3э 6 жыл бұрын
Какая же муть эти 32. Просто ужас. А так спасибо большое за уроки. У меня вопрос. В процессе выполнения программы мне нужно изменять инициализацию таймера. Как это сделать если он инициализируется через функцию.
@ДимаПигарь-б4и
@ДимаПигарь-б4и 8 жыл бұрын
как правильно сделать задержку на этом таймере?
@narodstream552
@narodstream552 8 жыл бұрын
Вообще вряд ли это можно назвать задержкой. Это будет возможность запустить определённую процедуру по истечении определённого времени, причем возможность исполняться останется у основного кода в цикле. А это уже не задержка. И нет такого понятия правильно или неправильно, каждый сочиняет для себя, как ему удобно. Например можно создать переменную целочисленную, инициализировать её каким-то значением и обработчике окончания счёта таймера, убавлять её на 1. А в цикле основного кода создать условие, в котором проверять данную переменную, не достигла ли она нуля. Если достигла, то выполнить условие, которое должно выполниться по окончании счёта. Это один из способов использования таймеров. А можно придумать кучи таких способов.
@ДимаПигарь-б4и
@ДимаПигарь-б4и 8 жыл бұрын
спасибо, я вас понял
@narodstream552
@narodstream552 5 жыл бұрын
Комментарий с капсом удалён.
@AmirTMR
@AmirTMR 2 жыл бұрын
Вопрос к знатокам: в литературе по STM32, для обработки прерывания используется функция обратного вызова, а в этом уроке функция для обработки прерывания добавляется непосредственно в TIM6_DAC_IRQHandler(void). Как сделать правильно?
@traveladventure427
@traveladventure427 2 жыл бұрын
Включать биты в регистрах не так и сложно.
@retro55i
@retro55i 5 жыл бұрын
Зачем писать код прямо в обработчике прерывания от таймера, когда есть специальная callback функция и не одна. эта функция уже написана с модификатором weak , надо написать точно такую же только без этого модификатора. Прежде чем вызвать эту функцию hal делает кучу проверок.
@narodstream552
@narodstream552 5 жыл бұрын
Да этому видео уже несколько лет, давно мы уже так не делаем. Здесь показано, что такой обработчик есть и писать тут можно. Понятно, что есть функции обратного вызова, которые из кейсов проверок флагов вызываются.
@СергейМолочников-ы1ъ
@СергейМолочников-ы1ъ 3 жыл бұрын
Думал по другому что то вот...
@andreyparovozz
@andreyparovozz 7 жыл бұрын
А хоть один из таймеров умеет обсчитывать инкрементальный энкодер?
@narodstream552
@narodstream552 7 жыл бұрын
Смотрите дальше - думаю сами разберётесь. Если найдёте что-то лучше, то обязательно напишите.
@koliakrasnoff
@koliakrasnoff 6 жыл бұрын
Шикарное видео, но для новичков сложновато. Попроще бы на первый раз. Подали с USB единичку - зажгли светодиод. Подали нолик - погасили.
@ИгорьЗагребалов
@ИгорьЗагребалов 4 жыл бұрын
эти "хитрости"- в них ты сам путаешся, просто новый проект создать, поучить других
@sergeyknyazev1847
@sergeyknyazev1847 2 жыл бұрын
Что то жесть какая то, ничего не понимаю, голова кругом. Почему обработчик прерывания таймера нужно писать в отдельном файле с хз каким названием? Нельзя затереть коменты куба, иначе при добавлении переферии все потрется. Мы написали кода три строчки, а в результате портянка на 100500 файлов. Мигалку можно написать, а если что то серьезное, допустим протокол, с задействованием трех обработчиков от таймеров, на следующий день не разберешься в своей же писанине и как это все отлаживать? Да после atmel studio это какой то ужас. Может есть более простая IDE ? Я уже хочу отказаться от куба и писать инициализацию переферии руками !!!
@МаксПро-у3э
@МаксПро-у3э 6 жыл бұрын
А нет не муть. Извините. Просто обьясняет так
@narodstream552
@narodstream552 6 жыл бұрын
Объясняю так, как мог на тот момент.
@МаксПро-у3э
@МаксПро-у3э 6 жыл бұрын
Да не обижайтесь)))))
@segamegadr
@segamegadr 4 жыл бұрын
Уснуть можно
@stepel2
@stepel2 22 күн бұрын
заработало только после вставки __HAL_TIM_ENABLE_IT(&htim, TIM_IT_UPDATE);
@startman1966
@startman1966 Жыл бұрын
Это не уроки. Это какой-то монолог. Ты объясни товарищ, с кем ты вообще общаешься. Ты хочешь что бы люди тупо нажимал за тобой кнопки не понимая что они делают. Ты может быть и силен в чем то, но как учитель извини ты нулевой.
пришла на ДР без подарка // EVA mash
01:25
EVA mash
Рет қаралды 3,3 МЛН
STM32: PWM шаг за шагом на STM32CubeIDE
10:51
G1Tech
Рет қаралды 30 М.
STM32. Таймеры общего назначения. Часть 1.
25:39
AVR 30# Таймер, режим захвата.
17:32
Andrey Frolov
Рет қаралды 4,5 М.
Изучаю STM32!
20:26
Лёша Кластер
Рет қаралды 199 М.
пришла на ДР без подарка // EVA mash
01:25
EVA mash
Рет қаралды 3,3 МЛН