STM32. CMSIS #12. Практическая настройка TIM2 и DMA для PWM WS2812B. Практика
ฝัง
- เผยแพร่เมื่อ 22 ก.ค. 2022
- Купить книгу "Освоение STM32 самостоятельно" по CMSIS:
• При печати на Xprinter...
pvs-studio.com/nr_spring
Видео о запуске светодиодов WS2812B на минимальных возможностях микроконтроллера. Применяем TIM2 и DMA для формирования ШИМ-сигнала управления светодиодами RGB.
Проект:
cloud.mail.ru/public/e2dH/ChZ...
Подписывайтесь на канал в Телеграм:
t.me/NR_electronics
Подписывайтесь на канал на Яндекс Дзене:
zen.yandex.ru/id/623b57d41d8d...
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
Станьте спонсором канала, и вы получите доступ к эксклюзивным бонусам. Подробнее:
/ @nrelectronics
или через Яндекс-деньги:
money.yandex.ru/to/4100115727...
А также переводом по номеру карты:
4377-7237-6190-5714
Спасибо за полезное видео! Как раз есть время разобраться до нового года)))
Пожалуйста. Успейте до нового года 😃
Понятно объяснили, спасибо. Буду повторять.
Пожалуйста)
о, неужели я дождался)
Да, немного на TouchGFX задержался)
@@NRelectronics надеюсь будет продолжение cmsis)
Продолжение будет точно. Одну тему прорабатываю как раз, но пока не скоро)
@@NRelectronics хорошо) тогда ждемс
👍
Спасибо за видео 👍
Пожалуйста 👌
@@NRelectronics Жду новых по CMSIS 💪
Хорошо, постараюсь. Помним сложнее других делать.
@@NRelectronics Согласен, поэтому за ваши труды по CMSIS только огромное спасибо 👍
Я думаю, что для сброса было проще добавить два виртуальных светодиода, для которых нулевая скважность PWM для всех битов. Это бы выдало нулевой импульс в шине длиной 60 мкс. Тогда не пришлось бы менять настройки таймера.
Хорошая идея кстати. Ну вот реализовал по другому. Спасибо за прикольную идею!
пожалуй вернусь в js мультики рисовать, здесь надо быть нобелевским лауреатом в всем чтобы блымнуть светодиодом, у меня депрессия
Вы взялись за сложный урок, вернитесь к изучению/просмотра именно моргания светодиода.
Спасибо 👍
Пожалуйста. Заходите почаще ;)
@@NRelectronics всегда смотрю ваши ролики
Благодарю 🙂
0.7Vdd (3.5В) это минимальное значения уровня "1". Естественно, если с контроллера приходит +5В это его тоже устроит.
Это понятно. Но с контроллера, как я говорил, приходит 3.3В и это его устраивает.
Здравствуйте. Насколько я понял из исходников у вас создается буфер для хранения информации о цвете, в котором на каждый бит цвета светодиода используется 1 БАЙТ в памяти? Получается на каждый светодиод расходуется 24 байта вместо 3-х. Зачем так сделано?
Похоже сам догадался. Это для работы через DMA.
Может плохо смотрел, но не нашел настройки ДМА. Но вот что я хотел спросить:
У меня в проекте один такой светодиод, я его зажигаю точно по тому же принципу, только использую HAL, но это не суть. В проекте использую freeRTOS.
Так вот какая особенность, если использовать режим DMA Regular (чего мне имхо достаточно для одного диода) то до инициализации freeRTOS все работает как надо, а из под freeRTOS диод зажигается, но мешаниной цветов.
Что я только не пробовал и taskENTER_CRITICAL() и проверял правильно ли массив формируется - ничего не помогло.
Вопрос решился только переводом DMA в режим Circular
Вроде решение есть, а понимания почему так получается нет 😕
Про DMA есть, и комментарии на русском есть. Про freeRTOS это сейчас не по теме ролика ведь.
@@NRelectronics конечно не по теме, просто я с этой проблемой столкнулся при работе с WS1212B по той же схеме, но из под freeRTOS.
Вот и решил спросить, может есть идеи
Мне вот интересно, что сподвигло достаточно простую работу по управлению шимом светиками делать через freeRTOS?
@@NRelectronics :))) конечно freeRTOS не для 1 диода, там большой проект. Просто сигнальная лампа сделана на этом диоде, что было можно менять цвета и делать fadein и fadeout
Сложно для нуба. Тут только если самостоятельным копанием в каждом регистре и в каждом бите с переводчиком, чтобы понять саму мякотку.
Подпишитесь на мой канал я вам помогу. Телеграм.
Аппаратненько)
Именно так ;)
здраствуйте, Сергей. Можна ваш номер телефона? я по поводу наладки пресса А300
Здравствуйте. Я точно не Сергей))