Наш канал в telegram

Рубрика «Контроллеры»

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

Контроллеры STM32 обладают достаточно развитой системой тактирования, включающей кучу различных делителей, умножителей и селекторов, которые позволяют «разогнать» до 72 МГц частоту ядра и системной шины, а также организовать тактирование на различных частотах всех входящих в состав контроллера модулей (USB, I/O, I2C, SPI…). При этом стартует контроллер всегда от внутреннего генератора на 8 МГц, а дальнейший …

Программирование ARM-контроллеров STM32 на ядре Cortex-M3. Часть 5. Как залить прошивку в контроллер

Ну, вот мы и дошли до одного из самых интересных этапов, — как же залить в контроллер готовую прошивку и оживить наконец нашу железяку. Вообще-то прошивать контроллеры STM32 можно по-разному, но мы рассмотрим самый простой вариант прошивки — через последовательный интерфейс с помощью фирменной утилиты Flash Loader Demonstrator. Эта утилита совершенно бесплатна и её можно …

Программирование ARM-контроллеров STM32 на ядре Cortex-M3. Часть 4. Регистры, старт и режимы работы контроллеров STM32

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

Программирование ARM-контроллеров STM32 на ядре Cortex-M3. Часть 3. Карта памяти контроллеров stm32, доступ к отдельным битам памяти

Изучать архитектуру контроллеров stm32 мы начнём с их карты памяти. Зачем это надо? Ну, наверное, потому, что программа управления контроллером записана в памяти, данные, которыми мы оперируем, находятся в памяти, различные регистры контроллера также спроецированы на определённые адреса памяти. То есть чтобы работать с контроллером, нам просто необходимо знать что где расположено (по каким адресам) …

Программирование ARM-контроллеров STM32 на ядре Cortex-M3. Часть 2. Основы ассемблера, структура и синтаксис программы. Простейшая программа

Итак, мы создали новый проект, выполнили основные настройки, создали и подключили к проекту файл, в котором хотим написать на ассемблере какую-нибудь простенькую программу. Что дальше? Дальше, собственно говоря, можно писать программу, используя набор команд thumb-2, поддерживаемый ядром Cortex-M3. Список и описание поддерживаемых команд можно посмотреть в документе под названием Cortex-M3 Generic User Guide (глава The …

Программирование ARM-контроллеров STM32 на ядре Cortex-M3. Часть 1. Установка MDK, создание проекта, основы Keil uVision

Сегодня мы начнём учиться программировать ARM-контроллеры STM32 на ядре Cortex-M3. Эти камни уже гораздо серьёзнее, чем восьмибитные пики и атмелы, поэтому для полного использования всех их возможностей без языка высокого уровня нам при программировании не обойтись (если мы конечно не мазохисты), но для лучшего понимания происходящего, начнём мы всё же с ассемблера, а потом уже …

Микроконтроллерный диммер для светодиодных драйверов на NCP3066

Описанное в этой статье устройство предназначено для совместной работы со светодиодными драйверами, построенными на микросхемах NCP3066, и добавляет этим драйверам функцию диммирования. То есть, оно позволяет регулировать средний выходной ток светодиодного драйвера и, как следствие, регулировать яркость подключенного к этому драйверу светодиода. Устройство построено на базе микроконтроллера ATtiny13 и представляет собой по сути генератор прямоугольных …

Управление биполярным шаговым двигателем. Часть 2. Схема с контроллером PIC12F629 и драйвером L293D

— Часть 1. Теория. Схема с PIC12F629 и драйвером LB1838 — Часть 2. Схема с PIC12F629 и драйвером L293D Поскольку драйвера для шаговиков L293D более популярны у радиолюбителей, чем LB1838, и их гораздо легче достать, то, по просьбам форумчан, я решил написать продолжение статьи про управление биполярными шаговыми двигателями и рассмотреть схему с драйвером L293D. …

1-wire шлюз для компьютера (через com-порт) на ATtiny2313

В этой статье мы рассмотрим как сделать 1-wire-шлюз. Этот шлюз позволит нам общаться с устройствами, имеющими интерфейс 1-wire, через обычный com-порт любого персонального компьютера, из любой терминальной программы для работы сom-портом, поддерживающей HEX-режим. Для тех, кто уже читал мои статьи про I2C-шлюз и SPI-шлюз сразу скажу, что в железе вообще ничего не изменилось. Единственное отличие …

Цифровой генератор опорного напряжения на ATtiny13

Сегодня я расскажу вам, как с помощью встроенного в микроконтроллер ATtiny13 ШИМ-модуля сделать цифровой 8-битный генератор опорного напряжения 0 — 5В. Идея девайса до гениальности проста. На одном из выходов контроллера с помощью встроенного модуля ШИМ генерируются прямоугольные импульсы, которые затем сглаживаются обычным RC-фильтром. Величина сглаженного напряжения, как вы понимаете, определяется длительностью генерируемых импульсов. А …