Наш магазин на eBay Наш магазин на AliExpress Наш канал в telegram

Рубрика «Теория»

Программирование ARM-контроллеров STM32 на ядре Cortex-M3. Часть 15. Таймеры. Глава 2 — Таймеры общего назначения TIM9 — TIM14

Особенности Блок-схемы Базовый модуль Тактирование счётчиков Модуль захвата/сравнения Режим захвата по входу (Input Capture Mode) Режим измерения параметров ШИМ (PWM Input Mode) Режим форсированного выхода (Forced Output Mode) Режим управления выходом по сравнению (Output Compare Mode) Режим ШИМ (PWM Mode) Режим одиночного импульса (One-pulse Mode) Синхронизация счётчиков по внешним сигналам (только для TIM9/12) Режим сброса …

Программирование ARM-контроллеров STM32 на ядре Cortex-M3. Часть 15. Таймеры. Глава 1 — Введение. Простейшие таймеры

Введение Простейшие таймеры Регистры Техника программирования Введение В микроконтроллерах stm32 есть 14 различных таймеров, которые по своим функциональным возможностям условно делятся на три типа: простейшие (TIM6,7), общего назначения (TIM2-5, TIM9-14) и продвинутые (TIM1,8). Если кратко описать отличия этих трёх типов, то они заключаются в том, что простейшие таймеры почти ничего не умеют, кроме простого отсчёта …

Программирование ARM-контроллеров STM32 на ядре Cortex-M3. Часть 14. Использование DMA

Что такое DMA и зачем это нужно Возможности и работа DMA в stm32 Регистры Техника программирования DMA Что такое DMA и зачем это нужно DMA (Direct Memory Access) — технология прямого доступа к памяти. Эта технология позволяет быстро и без использования центрального процессора пересылать данные из одной области памяти в другую. При этом для такой …

Программирование ARM-контроллеров STM32 на ядре Cortex-M3. Часть 13. Работа с модулями ADC

Общее описание Скорость оцифровки, тактирование Физические линии ввода, группы каналов Включение, запуск оцифровки, режимы работы модулей ADC Одиночные и непрерывные преобразования Сканирование списка каналов Использование DMA Опрос инжектированных каналов Прерывистый режим опроса каналов Режим калибровки Предельный компаратор Регистры Пример Общее описание ADC (analog to digital converter) — это аналого-цифровой преобразователь (АЦП). Модули ADC предназначены для …

Программирование ARM-контроллеров STM32 на ядре Cortex-M3. Часть 12. Работа с модулями USART и UART.

Общее описание Регистры Техника программирования Пример Общее описание USART — это модуль универсального синхронно-асинхронного приёмо-передатчика. В первую очередь эти модули используются для организации связи по интерфейсу RS-232 и другим, имеющим аналогичный формат фреймов (RS-422, RS-485). Модули, естественно, реализуют не весь интерфейс, а только нижний уровень логики (формат передачи одного фрейма, байта), к которому потом ещё …

Программирование ARM-контроллеров STM32 на ядре Cortex-M3. Часть 11. Подключение и использование драйверов из пакета StdPeriph (на примере RCC и GPIO)

Подключение драйверов стандартной периферии из пакета StdPeriph Пример использования драйверов для работы с RCC и GPIO. Подключение драйверов стандартной периферии из пакета StdPeriph В прошлый раз мы познакомились со стандартом CMSIS, а также научились подключать поставляемые вместе с пакетом Keil uVision библиотеки. Сегодня мы продолжим изучение стандарта CMSIS и рассмотрим пакет StdPeriph Drivers — драйвера …

Микрокомпьютер Omega2. Часть 9. Сборка альтернативной прошивки на базе OpenWRT

Введение Подготовительный этап Алгоритм сборки Дополнительная информация Как включить поддержку sd-карты на обычной Omega2 (не плюс) Post scriptum Введение Сегодня я расскажу о том, как собрать альтернативную прошивку для микрокомпьютера Omega2. Зачем это нужно? Ну, во-первых, оригинальная прошивка сделана на базе уже устаревшей версии LEDE OpenWRT, а значит там могут быть ошибки, которые в новых …

Инструкция по созданию Telegram ботов. Часть 5. Пишем Telegram бота на php для работы через longpolling

Введение API telegram для работы через поллинги Переделываем нашего telegram-бота на php для работы через поллинги Замечания и дополнения Введение Чуть меньше года назад я обещал написать, как сделать на php телеграм-бота, работающего через longpolling. И вот, наконец-то, у меня дошли руки, чтобы выполнить это обещание. В чём идея этого метода и чем он принципиально …

Памятка по ООП

Сегодняшняя статья представляет собой небольшую памятку, в которой кратко, в тезистной форме изложены основные понятия объектно-ориентированного программирования (ООП). Программа в ООП представляет собой набор взаимодействующих абстрактных объектов. Объекты имеют атрибуты (свойства, переменные). Эти атрибуты для объектов прописаны программистом. Над объектами можно выполнять операции (методы, действия, функции) с целью модификации этих или других объектов. Сами операции …

Как сделать поле для ввода текста на svg

Не так давно, работая над web-мордой одного интересного устройства (кстати, если что, я теперь принимаю заказы на создание web-интерфейсов на svg), мне пришлось решать задачу создания полей для ввода текста. В спецификации svg такие поля отсутствуют, в интернете адекватных решений найдено не было, так что пришлось изобретать велосипед самому (на самом деле я конечно делал …