Pull to refresh

Оцифровка звука на STM32 (АЦП+DMA) и кодирование в Speex для передачи

Reading time 7 min
Views 44K
Development of communication systems *Programming microcontrollers *Development for IOT *
Tutorial
image В продолжение своей вчерашней статьи на Geektimes хочу рассказать подробнее про реализацию оцифровки и кодирования звука на микроконтроллере STM32.

В статье покажу как настроить проект в STM32CubeMX, собирать данные с АЦП в два кольцевых буфера посредствам DMA, подключить библиотеку Speex и кодировать данные. Возможно многим материал покажется весьма очевидным, но надеюсь хоть кому-то он будет полезен.

Прошу под кат.
Читать дальше →
Total votes 33: ↑32 and ↓1 +31
Comments 17

PPM-to-USB адаптер на STM32F3Discovery, или Подключаем авиамодельный пульт к компьютеру как HID-джойстик с STM32Cube

Reading time 22 min
Views 37K
Multicopters DIY


В этой статье я расскажу, как:
  • Создать проект в STM32CubeMX и настроить таймеры для захвата внешних сигналов.
  • Декодировать PPM-сигнал с авиамодельного пульта.
  • Сделать Human Interface Device на STM32 и написать свой HID Report Descriptor.
  • Полетать в симуляторе на гоночном квадрокоптере. :)
Читать дальше →
Total votes 25: ↑25 and ↓0 +25
Comments 6

Реализация PPPOS на stm32f4-discovery

Reading time 14 min
Views 13K
Programming microcontrollers *
Sandbox
Однажды передо мной возникла задача обеспечить выход в сеть Интернет на STM32 имея для этого только COM порт. Для решения этой задачи мне понадобился PPP, или, еcли быть точным, PPPoS (англ. Point-to-Point Protocol over Serial — один из способов реализации PPP, используется при подключении через COM-порт).

В процессе решения поставленной передо мной задачи я столкнулся с некоторыми трудностями, одна из которых недостаточное, на мой взгляд, освещение вопросов связанных с PPPoS в сети Интернет. Этим постом я постараюсь закрыть обозначенный пробел, на сколько позволят мои скромные знания.

Статья описывает создание проекта для System Workbench for STM32 с нуля. Показывает пример работы с UART. Есть примеры кода для реализации PPP. Ну и конечно, пример отправки сообщения на соседний компьютер.
Читать дальше →
Total votes 30: ↑30 and ↓0 +30
Comments 9

STM32 bootloader DFU mode с использованием CubeMX. Инструкция пошаговая, step by step

Reading time 6 min
Views 46K
Manufacture and development of electronics *
Sandbox
Итак, сочинение сего мандригала было сподвигнуто практически полным отсутствием пошаговой инструкции с использованием обычного инструментария предлагаемого STMicroelectronics.

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

Предлагаемый материал содержит процедуру использования пакета CubeMX, «загружалки» DfuSeDemo и утилиты подготовки прошивки Dfu file manager, т. е. Мы абстрагируем наши «хотелки» от железки, да простят меня гуру макроассемблера и даташита.
Читать дальше →
Total votes 37: ↑35 and ↓2 +33
Comments 29

STM32. Практика похудания или диета для контроллера

Reading time 5 min
Views 7.9K
Programming microcontrollers *Circuit design *


Что за бред, наверняка подумают некоторые читатели, увидев заголовок публикации. Не ошибся ли автор ресурсом? Или разместить это планировалось в хабе «Здоровье гика»? И будут отчасти правы, но лишь отчасти… Под катом речь пойдет о методике снижения-оптимизации энергопотребления электронных устройств.

Читать дальше →
Total votes 28: ↑28 and ↓0 +28
Comments 0

Разработка контроллера резервного питания. Как кризис сделал его сильней

Reading time 5 min
Views 3.1K
Open source *Programming microcontrollers *Manufacture and development of electronics *DIY Electronics for beginners
Tutorial

Летом нас настиг кризис поставок микросхем. Контрактный сборщик сообщил что семейства MKE18F больше нет в продаже. В интернете на нас глядели пустые полки Digi-Key, Mouser, Avnet и прочих дистрибуторов. И вдруг на Octopart взгляд зацепился за STM32H753VIH6. Он был дороже, он был BGA, он требовал выше класс платы, но он был. Решать нужно мгновенно. Через несколько дней пропали бы и они. Дальше только у брокеров по 10-и кратной цене. Взяли все что было. Так начинается история новой версии контроллера резервного питания. Далее про новую трассировку и первый запуск.

Читать далее
Total votes 2: ↑2 and ↓0 +2
Comments 2

Регистры STM32 в структурах на битовых полях, UART (Tx, Rx-длина?) + DMA

Reading time 18 min
Views 12K
C++ *C *Programming microcontrollers *
Sandbox

Цель статьи - рассказать, как получить удобный доступ к битам регистра STM32 без использования битовых операций и пользоваться битами микроконтроллера как обычными переменными. Чтобы не быть голословным, создадим проект UART+DMA с передачей и приёмом данных неизвестной длины, работающую чисто на структурах c битовыми полями, которые привязаны к адресам периферии STM32.

Читать далее
Total votes 10: ↑9 and ↓1 +8
Comments 28

Настройка ToolChain(а) для Win10+GCC+С+Makefile+ARM Cortex-Mx+GDB

Reading time 16 min
Views 9.8K
Eclipse *C *Programming microcontrollers *Build automation *DevOps *
Tutorial

В тексте написано кокой путь проходят сорцы с момента написания до исполнения на микроконтроллере. Также про то как настроить ToolChain из бесплатных утилит. Показано на что стоит обратить внимание при запуске первого проекта на Cortex-M чипах. Этот текст, в сущности, пояснение того, что происходит под капотом большинства IDE.

Читать далее
Total votes 16: ↑9 and ↓7 +2
Comments 47

STM32 Часть 1. Как поморгать светодиодиком

Level of difficulty Easy
Reading time 5 min
Views 8.3K
Programming *C *Programming microcontrollers *Electronics for beginners
Tutorial

Приветствую!

Данная статья открывает цикл статей о программировании микроконтроллеров STM32 для новичков.

Сегодня я расскажу как написать моргание светодиодом двумя способами с использованием инструментов, труднодоступных в 2023 году.

Читать далее
Total votes 25: ↑16 and ↓9 +7
Comments 39

Настройка FDCAN в CubeMx

Level of difficulty Easy
Reading time 4 min
Views 1.3K
C++ *C *
Sandbox

Это почти полная копия моей статьи для внутреннего форума предприятия, где я работаю. Я решил, что эта информация может быть полезна широкому кругу людей, особенно для тех, кто никогда не работал с CAN. В статье описана пошаговая настройка FDCAN в cubeMx, а каждый шаг достаточно подробно описан.

Читать далее
Total votes 9: ↑8 and ↓1 +7
Comments 0