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

Записи с меткой «контроллер»

Программирование 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. Приложение 3. Драйвера и функции библиотеки StdPeriph

MISC (Framework) ADC BKP CAN CEC CRC DAC DBGMCU DMA EXTI FLASH FSMC GPIO I2C IWDG PWR RCC RTC SDIO SPI TIM USART WWDG Часть 1. Установка MDK, создание проекта, основы Keil uVision Часть 2. Команды и директивы ассемблера, структура и синтаксис программы. Первая программа для STM32 Часть 3. Карта памяти контроллеров STM32, методы работы …

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

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

Программирование ARM-контроллеров STM32 на ядре Cortex-M3. Часть 10. CMSIS, использование стандартных библиотек и функций.

Стандарт CMSIS Подключение к проекту модулей и библиотек CMSIS RTE_Device.h — конфигурирование контроллера startup_stm32f10x_md.s — таблица векторов, заглушки обработчиков, код запуска system_stm32f10x.c — настройка системы тактирования stm32f10x.h — определения имён областей, регистров, битов, констант… Пример использования CMSIS в программах Стандарт CMSIS К этому моменту мы уже можем с нуля накодить для STM32 на асме какой-нибудь …

Программирование ARM-контроллеров STM32 на ядре Cortex-M3. Приложение 2. Таблица векторов прерываний для семейств STM32F101, STM32F102, STM32F103

Ниже представлена таблица векторов прерываний для семейств STM32F101, STM32F102, STM32F103 с размером флеша до 512 кб. Жёлтым цветом выделены системные исключения. Чтобы увидеть подробное описание — щёлкните по соответствующему акрониму. Для того, чтобы каждый раз не прописывать эту таблицу в своих проектах — просто скачайте архив с файлом stm32_IRQ_table.asm и вставляйте этот файл в свои …

Неоднозначность регистрации временных интервалов при переполнении таймера-счетчика МК.

В статье пойдет речь о захвате состояния встроенного таймера-счетчика, используемого для регистрации времени наступления внешнего события, возникающих при этом проблемах и возможных способах их решения. Допустим, стоит задача средствами микроконтроллера регистрировать некую последовательность внешнего дискретного сигнала с сохранением времени каждого изменения для дальнейшей обработки. Упрощенный алгоритм работы мне видится таким. Встроеный таймер/счетчик запускается на подсчет …

Программирование ARM-контроллеров STM32 на ядре Cortex-M3. Часть 9. Система прерываний

Введение Как настроить и включить прерывание Как происходит вход в прерывание? Сохранение контекста Специальные значения EXC_RETURN Как выйти из прерывания? Восстановление контекста Пример программы с прерыванием Введение В предыдущей части мы говорили, что группы инструкций, выполняющие какую-либо элементарную задачу, можно оформлять в виде процедур и потом вызывать их в программе каждый раз, когда они нам …