Перейти к содержанию

Архивы автора

STM32. Применение Option Bytes без перезагрузки устройства

Гипотетическая ситуация следующая – у нас есть устройство до которого очень тяжело дотянуться ручками, но есть доступ к загрузчику. И нужно установить некоторые OB, например, управление ножками бута или установка защиты от чтения. Для того, чтобы OB встали на свое место – необходим перезапуск МК. Причем, простого ребута по вочдогу или через NVIC_SystemReset() будет недостаточно. …

Когда нужна сотня UART’ов или примитивный драйвер для SC16IS740/SC16IS750/SC16IS760

Вот и наступил прекрасный момент, когда все доступные порты заняты, а битбэнгать как-то не сподручно. На сцену выходит микросхема-преобразователь UART в-из I2C/SPI Есть аналоги подобных микросхем-преобразователей (MAX3107, MAX14830), которые скорей всего будут лучшим выбором, чем представленная выше. У них нет “магических” регистров доступа и FIFO длиннее. Так вышло, что под рукой была именно эта микросхема. …

Поиск устройств на шине I2C STM32

Шина I2C (Inter-Integrated Circuit) является одной из наиболее распространенных шин, используемых для связи между микроконтроллерами и другими устройствами. Она позволяет передавать данные между устройствами, используя всего две линии – SDA (Serial Data) и SCL (Serial Clock). Шина I2C поддерживает подключение до 127 устройств, что делает ее идеальным выбором для систем, где необходимо подключить множество датчиков …

Добавляем Unit-тестирование в проекты STM32CubeIDE

А именно, мы будем добавлять отличную систему Сeedling. Данная система содержит в себе сразу два инструмента – Unity – непосредственно для проведения и написания тестов и CMock для генерации объектов-заглушек. Но самая большая заслуга данного пакета – простота во всех аспектах – начиная от генерации тестируемых модулей и до релиза проекта. Использование Сeedling превращает рутинное …

Запускаем кодек OPUS на микроконтроллере

Исходные данные – есть контроллер STM32 с очень ограниченной памятью, а мы хотим записывать на нем звук. Допустим, что примеров с подключением выбранного нами микрофона гора и маленькая тележка. В итоге имеем контроллер, который умеет выдавать нам WAV-подобный сигнал. Хотелось бы этот WAV-сигнал куда-то записать или передать. Таких данных будет очень много, есть ненулевая вероятность, …

STM32 SAI и микрофон INMP441

Представим, что у нас есть STM32L4 серии и на нем мы пытаемся подключить микрофон INMP441 через интерфейс SAI. Данный микрофон выводит данные сразу в PCM коде и имеет хорошие звуковые характеристики для своего ценового диапазона. Быстрым гуглением мы можем найти три основные ссылки по данному вопросу: Общие принципы подключения I2S микрофонов к контроллеру с очень …

USB-HID на STM32F103. Примочка для управления треками и громкостью

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

Сливаем дамп флешки STM32 стандартными инструментами

Как считать прошивку контроллера который не был залочен? До очень просто. Подключаем плату через st-link и запускаем программу STM32CubeProgrammer или ST-LINK Utility. Обе программы имеют вполне годный консольный help и документацию, в которой он, по сути, дублируется. STM32CubeProgrammer. Сохраняет прошивку в bin, hex, srec В port выбирается используемый интерфейс, далее идет адрес старта прошивки (0x08000000), …

Получаем температуру контроллера STM32l4 правильно

Обычная затея – считать температуру контроллера может заиграть новыми красками, когда ты внезапно получишь отрицательные/ниже комнатных значения. Что-то явно пошло не так – и это нужно исправлять. Давайте получим нормальную температуру с внутреннего датчика микроконтроллера STM32 (STM32L432 в нашем случае). Откроем референс мануал для данного семейства RM0394 на секции с температурным датчиком. Блок-схема нам говорит, …

Milandr + VSCode + GCC + OpenOCD + freeRTOS

Что может быть лучше, чем обмазаться открытым инструментарием на российских МК и закрытой Винде? Правильно, ничего нет лучше. Поэтому, так и сделаем. Захотелось, чтобы было как на проприетарных IDE – чтобы вся работа была в одном окне редактора. Получилось неплохо, поэтому вот вам почти полностью пустой проект-пример на основе которого можно выращивать свои собственные проекты. …