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

О блоге

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

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

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

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

Читатели (263)

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

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

Генератор ШИМ/импульсов на 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 минут на схему тактирования — сразу становится понятно без даташита. Я бы это назвал кодогенератором нового поколения, когда блоки представлены наглядно и нарисованы пути прохождения сигнала. Подобные конфигураторы регистров я видел для всяких синтезаторов частот и сложных трансиверов.

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

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

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

Программный декодер MP3 на STM32F10x. Часть 3. Извлекаем звуки

Пилу на выходе ЦАП увидели (и при желании услышали), теперь хочется вывести звуки, более приятные для наших ушей. «Музыку давай»! Однако, не стоит торопиться. Контроллеру нужно предоставить поток MP3, который он сможет декодировать. Сегодня мы подключим карту памяти SD, освоим драйвер файловой системы и напоследок — запустим декодер MP3.


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

Программный декодер MP3 на STM32F10x. Часть 2. Запуск ЦАП

Модуль ЦАП является ведущим звеном в нашем проигрывателе, синхронизирующим работу остальных программных модулей. Для работы будет использована следующая периферия микроконтроллера: таймер, задающий частоту дискретизации; контроллер DMA; и собственно двухканальный ЦАП.


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

Программный декодер MP3 на STM32F10x. Демопроект

В целях тренировки при освоении нового для меня микроконтроллера решил реализовать аудиоплейер. Поставленную задачу выполнил успешно, велосипед был изобретён и даже смог поехать. Результаты работы хочу представить вашему вниманию.


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