Рейтинг
28.46
голосов: 30

О блоге

Работа с ядром CortexM3 и периферией STM

Администраторы (1)

Модераторы (0)

Модераторов здесь не замечено

Читатели (271)

ploop _YS_ m3hc Krieger Tabke marvin_yorke Ultrin WildCat hexanaft Vga Alatar mzw Reverb grand1987 dievgen woogle PahanMenski anper citizen ZiB

Все читатели блога

STM32 Nucleo

ST разродилось новой ардуинообразной платой Nucleo:




Читать дальше

UART (USART) на STM32L (STM32)

Введение
На момент написания данной статьи в сети существовало множество примеров по работе с UART’ом на микроконтроллерах серии STM32. В основном данные примеры сводятся к приему/передачи одного байта без использования прерываний. Основной акцент в статьях делается на инициализации портов ввода/вывода и UART’а, с небольшими примерами. В некоторых статьях описывается работа прерываний, но не создаются полноценные функции приема/передачи.

Однако все эти примеры достаточно разрознены и мне не удалось найти одного исчерпывающего примера по работе с UART'ом. Поэтом, в данной статье ставиться целю объединение воедино накопившегося опыта и создание полноценных функций для работы с UART с использованием прерываний, для чего детально разбирается устройство интерфейса применительно к микроконтроллерам STM32L.



Читать дальше

Практический курс STM32. Урок 1 - GPIO. Порты ввода-вывода

В предыдущем уроке мы поговорили о необходимой нам документации и установили IDE. Сейчас самое время познакомится с GPIO.

В этом уроке мы:
  • Узнаем о возможностях GPIO серии STM32F4
  • Пройдемся по Справочному руководству (Reference Manual, далее просто СР) попутно его комментируя
  • Освоим 80% его функционала, не вдаваясь в работу с альтернативными функциями(об этом ниже). Поверьте, этого будет вполне достаточно для начала. А поскольку альтернативные функции касаются отдельных блоков STM(USB, таймеры, USART), о них мы поговорим уже по ходу освоения конкретных блоки в следующих(надеюсь) уроках
  • К концу урока, как это положено по традиции, помигаем миру светодиодами наших F4-Discovery. Напишем код и подробно разберем каждую его строку(кроме одной, относящейся к следующему уроку).


Всех, кому интересно приглашаю под кат.

Just another linux+STM32F4 toolchain

Примерно полгода назад я пытался заставить работать в Ubuntu связку gcc + eclipse. Не осилил, умыл руки и пошел дальше работать в Keil. Однако Новый год, новый ноутбук взамен разбитого со свежим Linux Mint — заставили меня вспомнить былое, запастись терпением и вбить в гугл заветную фразу «STM32F4 linux developing». Спустя примерно 6 часов неудачных сборок, моя отладочная плата весело мигает светодиодом. Как оно было — читайте под катом.


Читать дальше
  • +4
  • 09 января 2014, 04:49
  • anper
  • 3

USB Virtual COM на STM32L - Keil Project

Предлагаю проект для контроллера STM32L152 для организации виртуального COM порта (USB-COM). Проект основан на публикованном ранее похожем проекте для STM32F103ZE: STM32 — организация виртуального COM-порта
Большое спасибо автору за хорошую публикацию.


Читать дальше

ATOMIC-макросы для ARM

Поклонникам контроллеров AVR и компилятора WinAVR хорошо знаком макрос
ATOMIC_BLOCK(SOMETHING),
с помощью которого обычно реализуется атомарный доступ. При переходе на контроллеры ARM возникает вопрос: а где мой любимый ATOMIC_BLOCK? А нету. Восполним этот пробел.


Читать дальше

Программный декодер MP3(+). Переход на платформу STM32F407

В предыдущих статьях цикла был описан проигрыватель на основе STM32F105. MP3 играет без проблем, однако хочется чего-то большего. А ресурсы контроллера — уже на пределе. Поэтому дальнейшее развитие проекта решено перенести на платформу SMT32F4DISCOVERY.

Итак, сегодня мы:


Читать дальше

Генератор ШИМ/импульсов на STM32F050

Иногда полезная приблуда — управляемый по RS232 генератор на 6 каналов ШИМа + 1 импульсный.


Читать дальше

Еще раз о STM32 и DS18B20 (подправлено)

Решил подцепить DS18B20 к STM32 по двухпроводной шине. Задача несложная, благо и 1-wire уже не раз ковырял (первый раз лет 15 назад, еще на PIC, цеплял и ключи-идентификаторы и термометр), да и на STM32 тема сейчас избитая, примеров навалом. Прицепил термометр к известной плате STM32 Mini, и, хоть и не люблю копипастить, но все же взял готовую библиотеку от steel_ne из его статьи «Stm32 + 1-wire + DMA» и ее продолжения — мне понравилось это решение. Подправил чуть-чуть на свободный у меня USART3 и, после устранения ВСЕХ моих ошибок )), все заработало, за что автору большое спасибо.
К чему это я? А вот — главной моей ошибкой было то, что цеплял я термометр по двухпроводной схеме. И температура не измерялась, +85 градусов, хоть удавись… У меня термометры уже работают по двухпроводной схеме на AT91SAM7SE512 и раньше на PIC16F84 работали, поэтому вопрос для меня о схеме подключения особо не стоял, в даташиты я на эту тему давно не смотрел и схему автора вышеупомянутой статьи тоже глянул одним глазом. Посмотрел повнимательнее на схему в статье, а там термометр подключен по трем проводам. Подключил и я питание – работает. Проверил на Атмеле – но там несколько тех же DS18B20 на двух проводах стоят и подцеплены резистором 4,7 К к питанию, но правда там к 5 В. Ага, понятно, надо разбираться, ведь работает же оно на 5 вольтах… Вот тут-то и пригодилось свойство альтернативности выводов в STM32.


Читать дальше