Рубрика «программирование микроконтроллеров» - 56

image

Здравствуй, сообщество!

Представляю собственную реализацию светильника-ночника в виде облака. Основная идея – сделать ночник с имитаций естественных природных процессов и какой-нибудь интерактивностью. Природа – лучший вдохновитель!

За основу взял дешёвый микроконтроллер ATmega8-16PU. Код написан на С без Ардуино и реализует несколько световых эффектов с управлением от общей освещённости пространства и с управлением звуком.

Подробности и фотки — далее…
Читать полностью »

Вся правда об ОСРВ. Статья #19. Семафоры: введение и базовые службы - 1

Семафоры были упомянуты в одной из предыдущих статей (#5). Их основная задача – управление доступом к ресурсам.
Читать полностью »

Всем привет.

Не буду делать долгие и лирические вступления о том как коротка и жестока судьба бытовой техники. То что еще вчера воспринималось как последнее достижение прогресса, сегодня уже будет привычной частью среднестатистического домохозяйства, а завтра будет просто выброшено на свалку, не смотря на полную работоспособность или в лучшем случае – разобрано на запчасти как донор деталей. Ибо «тут кнопки, а хочу сенсор», и «дизайн совковый» и «нет этой фишки». И ладно если речь идет о какой то китайской микроволновке или чайнике, к которым и привыкнуть то толком не успеваешь из-за их короткого жизненного цикла и пластиковой бездуховности.

Но что делать, когда речь идет о вещи, которая помнит несколько поколений твоей семьи и с детства была для тебя воплощением домашнего уюта, бабушкиных вкусностей и всего самого «лампового». Выкинуть рука не поднимется, как с этой вещью уж слишком много воспоминаний и вообще сие есть кощунство. Но и использовать ну уж никак не представляется возможным по причине тотального устаревания и откровенно непрезентабельного вида.

Что делать?

Правильно! Воскрешать.
Читать полностью »

Вся правда об ОСРВ. Статья #18. Группы флагов событий: вспомогательные службы и структуры данных - 1

Эта статья продолжает описывать группы флагов событий.

Предыдущие статьи серии:

Статья #17. Группы флагов событий: введение и базовые службы
Статья #16. Сигналы
Статья #15. Разделы памяти: службы и структуры данных
Статья #14. Разделы памяти: введение и базовые службы
Статья #13. Структуры данных задач и неподдерживаемые вызовы API
Статья #12. Службы для работы с задачами
Статья #11. Задачи: конфигурация и введение в API
Статья #10. Планировщик: дополнительные возможности и сохранение контекста
Статья #9. Планировщик: реализация
Статья #8. Nucleus SE: внутреннее устройство и развертывание
Статья #7. Nucleus SE: введение
Статья #6. Другие сервисы ОСРВ
Статья #5. Взаимодействие между задачами и синхронизация
Статья #4. Задачи, переключение контекста и прерывания
Статья #3. Задачи и планирование
Статья #2. ОСРВ: Структура и режим реального времени
Статья #1. ОСРВ: введение.

Читать полностью »

«Решить парадокс Грея с дельфинами может любой, а ты попробуй сделать это без дельфинов. »

К вопросу о кривых Безье, быстродействии Ардуино и одном интересном сайте, или как я провел выходные - 1

Вообще то планировал я провести выходные несколько по иному, съездить на Copter Huck (не то, чтобы я был фанатом коптеров, просто посмотреть, что молодежь придумывает, потусоваться типа), но старшая сестра была категорически против. Я, конечно, настаивал (то есть пару раз хмыкнул и сказал" Ну может, все-таки… будет прикольно"), но она была неумолима, а когда супруга приняла ее сторону, шансов на поездку не осталось. Ну и ладно, «не очень то и хотелось», зато немного посидел над забавной задачкой из области программирования, которую сам себе придумал, о чем и докладываю.

( Необходимое примечание — имелись в виду предыдущие выходные, вот так всегда — написание программы требует пары часов, написание отчета о ней и за пять дней поездок в общественном транспорте не завершено.)

В одном недавнем посте автор рассматривал задачу ускорения (кроме всего прочего) расчета кривых Безье (КБ) на МК со сравнительно слабыми параметрами. Ну на самом деле эти параметры на уровне среднего мейнфрейма 70х годов, но по нынешним временам считаются явно недостаточными. В результате определенных действий автору удалось несколько ускорить вычисления, на мой взгляд, явно недостаточно, вот и решил написать, как это следует делать в первом приближении. Я прекрасно знаю универсальный рецепт решения проблем с быстродействием — взять МК с частотой повыше или перейти на другое семейство, но я родом из тех времен, когда мы учились обходится тем, что есть, просто потому, что ничего другого не было, от слова совсем. По нынешним временам подход устаревший, но мне показалось, что будет не безынтересен и современным читателям Хабра.
Читать полностью »

Вся правда об ОСРВ. Статья #16. Сигналы - 1

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

Не так давно компания STM выпустила на рынок очень мощную, по меркам микроконтроллеров, линейку кристаллов STM32H7. Что меня в ней привлекло:

  • повышенная частота ядра до 400 МГц
  • увеличенный объем ОЗУ, до 1 МБ
  • 16 разрядный АЦП
  • pin-to-pin совместимость с серий F7

Отлично подумал я, запаял на плату кристалл STM32H743IIT6 вместо STM32F746IGT6 и начал новый проект в SW4STM32.
Читать полностью »

GNU Arm Embedded Toolchain + PVS-Studio

Встраиваемые системы давно и прочно вошли в нашу жизнь. Требования к их стабильности и надежности очень высоки, а исправление ошибок обходится дорого. Поэтому для embedded разработчиков особенно актуально регулярное использование специализированных инструментов для обеспечения качества исходного кода. Эта статья расскажет о появлении поддержки GNU Arm Embedded Toolchain в анализаторе PVS-Studio и дефектах кода, найденных в проекте Mbed OS.
Читать полностью »

Всем привет!

В этой статье речь пойдет об одной важной части цифровой обработки сигналов — оконной фильтрации сигналов, в частности на ПЛИС. В статье будут показаны способы проектирования классических окон стандартной длины и «длинных» окон от 64K до 16M+ отсчетов. Основной язык разработки — VHDL, элементная база — современные кристаллы FPGA Xilinx последних семейств: это Ultrascale, Ultrascale+, 7-series. В статье будет показана реализация CORDIC — базового ядра для конфигурации оконных функций любой длительности, а также основных оконных функций. В статье рассмотрен метод проектирования с помощью языков высокого уровня С/C++ в Vivado HLS. Как обычно, в конце статьи вы найдете ссылку на исходные коды проекта.

КДПВ: типичная схема прохождения сигнала через узлы ЦОС для задач анализа спектра.
Особенности оконной фильтрации на ПЛИС - 1
Читать полностью »

Unified Program and Debug Interface (UPDI) — это однопроводной интерфейс для программирования/отладки новых 8-битных микроконтроллеров Atmel, пришедший на смену двухпроводному интерфейсу PDI, использовавшемуся для программирования микроконтроллеров AVR XMEGA.

image

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js