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

Здравствуйте! Меня зовут Александр и я работаю программистом микроконтроллеров.

Начиная на работе новый проект, я привычно набрасывал в project tree исходники всяческих полезных утилит. И на хедере app_debug.h несколько подзавис.

Дело в том, что в декабре прошлого года у GNU Arm Embedded Toolchain вышел релиз 10-2020-q4-major, включающий все GCC 10.2 features, а значит и поддержку Concepts, Ranges, Coroutines вкупе с другими, менее "громкими" новинками С++20.

Воодушевленное новым стандартом воображение рисовало мой будущий С++ код ультрасовременным и лаконично-поэтичным. И старый, добрый printf("Debug messagen")Читать полностью »

Когда в 2008 году мы разрабатывали микроконтроллеры серии К1986ВЕ9хЧитать полностью »

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

image

На пути в программировании stm8 есть развилка, о ней сегодня и поговорим.

Определимся что речь будет идти о средах которые могут писать под си. Для начала поговорим о подходах, я выделю 2 основных.

Первый установка ST Visual Develop и выбор в качестве компилятора COSMIC Бывший платный, а ныне бесплатный, но со своими заморочками; регистрация, получение ключа, и прочие танцы с бубном.

Второй же вариант, более простой VS Code + PlatformIO и компилятор SDCC полностью свободный. И опять же не все так просто. Sdcc не умеет исключать не используемые функции. Я решил этот вопрос хоть и успешно, но не без дополнительных действий при написании кода.
Читать полностью »

USB на регистрах: interrupt endpoint на примере HID - 1

Еще более низкий уровень (avr-vusb)
USB на регистрах: STM32L1 / STM32F1
USB на регистрах: bulk endpoint на примере Mass Storage

USB на регистрах: isochronous endpoint на примере Audio device

Продолжаем разбираться с USB на контроллерах STM32L151. Как и в предыдущей части, ничего платформо-зависимого здесь не будет, зато будет USB-зависимое. Если точнее, будем рассматривать третий тип конечной точки — interrupt. И делать мы это будем на примере составного устройства «клавиатура + планшет» (ссылка на исходники).
На всякий случай предупреждаю: данная статья (как и все остальные) — скорее конспект того, что я понял, разбираясь в этой теме. Многие вещи так и остались «магией» и я буду благодарен если найдется специалист, способный объяснить их.
Читать полностью »

STM32 LTDC и 7-дюймовый дисплей: часть 1 - 1

Доброго времени суток.

Речь пойдёт о подключении дисплея AT070TN94 с параллельным интерфейсом к контроллеру STM32H743. И хотя в интернете достаточно много информации по данной теме, при создании своего устройства у меня периодически возникали те или иные вопросы, ответов на которых найти не удавалось. Пишу в первую очередь для новичков, а профи приглашаю почитать ради советов и аргументированной критики (первая статья как-никак).

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

C++ is a horrible language. It's made more horrible by the fact that a lot of substandard programmers use it, to the point where it's much much easier to generate total and utter crap with it.

Linus Benedict Torvalds

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

В прошлый раз показал один из способов распределение ресурсов между конечными точками, а именно регистров EPnR, памяти под дескрипторы буферов и под сами буферы. Предлагаю продолжить начатое и рассмотреть написанную библиотеку на примере создания простого HID-устройства, позволяющего управлять светодиодом.

Разделение прерывания

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

Умная крышка для мониторинга хлебной закваски - 1

Хлеб – это один из основных компонентов нашего рациона, и многие предпочитают печь его самостоятельно в домашних условиях. В статье вы узнаете, как собрать и настроить уникальное приспособление для удаленного мониторинга подъема закваски, а также познакомитесь с результатами анализа собранных таким образом данных.Читать полностью »

Написал недавно программный USB-HOST на esp32 для работы с клавиатурой/мышкой/джойстиком. Процессор быстрый, но нежный, 5 вольт на ножках не выдерживает. Поэтому решил переписать на stm32f103c8t6, широко известную в варианте отладочной платы "Blue Pill".

К сожалению , это весьма неторопливый по сегодняшним меркам процессор(72 MHz vs 240 у esp32 ), поэтому были сомнения , смогу ли я обеспечить необходимую точность временного интервала между битами при передаче (1.5 Mbps +/- 1.5%Читать полностью »


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