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

О блоге

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

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

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

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

Читатели (264)

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

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

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.


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

Создаём ST-Link V2

      Как-то так исторически сложилось, что, хоть и «подружился» с микроконтроллерами от ST Microelectronics я уже давненько, но полноценного отладчика до сих пор у меня не было. «Подсадил» на STM8 меня друг, подарив на день рождения платку STM8S-Discovery. Вдоволь наигравшись с целевым камушком, я отключил отладочную часть платки, а встроенный ST-Link стал «рабочей лошадкой» в моей лаборатории. Таковым и оставался бы до сих пор, и всё было хорошо, да вот где-то с полгода назад случилась ситуация, которая сподвигнула меня на изыскания по размножению отладчика: мне пришлось подключить обратно отладочную часть дискавери, так как проэкт, над которым предполагалось работать, использовал тот же проц, что и в дискавери, и обросла платка некислым таким «ежиком» из проводов и деталюшек, закипела работа… А тут заказчик звонит-мол, приедь ко мне да подправь, плиз, прошивочку в своём устройстве-да там фигня, задержку на секунду увеличить и всего-то делов… А «рабочая лошадь» чуть ли не намертво к рабочему столу привязана проводами да кабелюками, блин! Пришлось разбирать, конечно… Вернувшись от заказчика и грустно поглядев на то, что ещё утром было полем для бурной деятельности по проверке идей-полез искать вдохновения в гугле. Кому интересно, что из этого получилось-добро пожаловать под отрезь… :)


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

CRC32: на STM32 как на компе или на компе как на STM32.

Все знают, что в STM32F1xx, STM32F2xx, STM32F4xx есть аппаратный блок CRC32 с полиномом 0x04C11DB7.
И он, в общем-то, работает. Но только контрольная сумма почему-то не совпадает с таковой, рассчитанной софтварно.
В гугле обычно 2 типа вопросов:
  1. Как хардварно посчитать на STM32 побайтовую CRC
  2. Как посчитать софтово CRC так, чтоб она совпала с хардовой на STM32
Причём, на первый вопрос ответ везде отрицательный. Так ли это? Попробуем разобраться.


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

Программный декодер MP3(+MOD) на STM32F10x. Часть 4. Трекерная музыка

Поколению, воспитанному ZX-Спектрумом, посвящается...

Думаю, мало кто знаком с понятием «трекерная музыка», хотя большинство людей, связанных с компьютером, неоднократно слышали эту самую музыку. Именно она, иногда совершенно неожиданно, начинает звучать из колонок при запуске всевозможных «лекарств», «таблеток» и «кейгенов».


Своему рождению трекерная музыка обязана компьютеру под названием «Амига». Это целое семейство домашних компьютеров, мегапопулярных «там» в середине 80-х — 90-х годов. Пока мы, после падения железного занавеса, дружно осваивали 8-битные компьютеры (легендарный Спектрум), заграница от ZX уже остыла и вовсю развлекалась взрослым компьютером Амига.


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

генератор кода stm32

Сколько я пробовал попробовать стм32 на халявной дискавери, но вид этих нагромождений кода, констант и регистров вгонял меня в уныние и сон. И вот сегодня я увидел ЭТО.



Для моего образного восприятия такая наглядность — просто кладезь. Посмотрев с 5 минут на схему тактирования — сразу становится понятно без даташита. Я бы это назвал кодогенератором нового поколения, когда блоки представлены наглядно и нарисованы пути прохождения сигнала. Подобные конфигураторы регистров я видел для всяких синтезаторов частот и сложных трансиверов.

Плюс еще в том, что код генерится нажатием на шестеренку. А если что-то в одном блоке поменял, то весь код стирается и показывается только одна-две строчки, которые относятся только к измененному блоку. (это про раздел тактирования на скриншоте)

Прога пока не все настраивает и некоторых модулей нет. Но уже это впечатляет.

скачать у автора