Наш канал в telegram

Записи с меткой «Cortex-M3»

Программирование 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. Приложение 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

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