Обновить
219.02

Программирование микроконтроллеров *

Учимся программировать микроконтроллеры

Сначала показывать
Порог рейтинга
Уровень сложности

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

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров7.7K

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

Читать далее

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

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров2.6K

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

Читать далее

WinnerMicro Wi-Fi SoC W801/W806 (SPI, I2C – дисплей и температура)

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров4K

Пробуем завести SPI и I2C на китайском чипе WinnerMicro Wi-Fi SoC W801/W806. Подключение дисплея на ST7789 и датчика температуры и влажности AHT10.

Читать далее

Реализация межплатного соединения в idiBus. Дешевая и виброустойчивая

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров5.7K

Фиксация пластиковыми стойками и простые разъемы снижают цену за межпланетное соединение до 10 рублей.

Почитать как это сделано

Осваиваем 3-рублёвые микроконтроллеры PADAUK

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров39K
image

Тайваньская фирма Padauk по праву считается производителем самых дешевых корпусных микроконтроллеров. Большим функционалом они не обременены, но несложные задачки для простых устройств могут выполнять.
Читать дальше →

Высокоскоростной SPI to Ethernet конвертер, при чем здесь DMA?

Уровень сложностиСредний
Время на прочтение13 мин
Количество просмотров5.8K

Чисто техническое, но не очень глубокое описание реализованной задачи с самыми простыми расчетами. Надеюсь, будет полезно соответствующим техническим специалистам или для тех, кто хочет понимать что-то про объем знаний необходимых для использования DMA над некоторым устройством периферии, например SPI.

Относительно использования Ethernet, дальше нескольких упоминаний речь не идет. Как-то, к слову, не пришлось, еще пока. Не обессудьте.

Читать далее

Управляя стихией: Аэротруба

Уровень сложностиПростой
Время на прочтение8 мин
Количество просмотров2.4K

Воздух. Насколько привычный, настолько же неподвластный, как и любая стихия. Возможно ли научиться управлять им, чтобы преодолеть земное притяжение? Давайте разбираться вместе!

Полетели!

К вопросу о gcc в разрезе RISCV

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров3.6K

Разбирался тут на досуге с (относительно) новыми МК фирмы WCH с ядром RISCV (CH32V307FBP6) с целью осветить данный прибор, скачал рекомендованную среду разработки (mounriver) и на первом же примере наткнулся на совершенно неожиданную вещь. Пример совершенно классический (нет, не мигание светодиодом и даже не приветствие миру) и посвящен использованию функции printf, вот он:

USART_Printf_Init(115200);
printf("SystemClk:%d\r\n"),SystemCoreClоck);
printf("This is printf example\r\n");

Пнп: Вы (программисты сайта) думайте, что хотите, но я считаю, что редактор у Вас ("вот это слово еще ...") омерзительный.

И что же могло удивить ?

STM32. Подготавливаем среду разработки в Linux

Уровень сложностиПростой
Время на прочтение21 мин
Количество просмотров43K
В недавнем времени получилось так, что у меня появилась пара интересных проектов, где одна из составных частей — микроконтроллер STM32. И каждый раз при смене ноутбука или ОС на домашнем компе приходится настраивать окружение для разработки как в первый раз. Плюсом, последние проекты, которые я делал для STM32 — выполнял в Windows, в демо-версии Keil uVision. Но поскольку я давно переехал в Linux — возникла необходимость основательно разобраться и изложить процесс настройки окружения для будущих применений.

Всем, кому интересно — добро пожаловать под кат.

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

Зимняя школа по RISC-V — актуальные знания по перспективной открытой архитектуре от экспертов

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров3.7K

С 2 по 8 февраля пройдет Зимняя школа «Программирование для RISC-V» — недельный интенсив от YADRO и ННГУ им. Н.И. Лобачевского. Программа состоит из двух частей: онлайн-лектория и очной проектной работы.

На бесплатных онлайн-лекциях все желающие познакомятся с основами разработки на основе открытой архитектуры RISC-V — перспективной технологии, предназначенной для создания процессоров, микроконтроллеров и разработки ПО. Лекции позволят вам выстроить полноценное представление об архитектуре и ее особенностях: вы начнете с азов, а закончите изучением векторных расширений RISC-V и ее возможностей для высокопроизводительных вычислений. Информация подойдет и новичкам в теме, и тем, кто знает теорию и хочет делать первые практические шаги в разработке под новую архитектуру. 

А студенты очной формы обучения смогут решить реальную задачу, связанную с RISC-V, под руководством преподавателей Университета Лобачевского и разработчиков YADRO на базе вуза в Нижнем Новгороде. 

Подробнее о лекциях и проектах, а также о том, как стать участником школы, читайте под катом.

Узнать больше →

Чиним ЭЛТ ТВ в 2к24м… Микросхема-убийца и сборка программатора своими руками

Уровень сложностиПростой
Время на прочтение2 мин
Количество просмотров3.2K

Программатор Ponyprog своими руками из подручный деталей, прошивка микросхемы памяти кинескопного телевизора.

Читать далее

МС6205. Плазменный дисплей советской эпохи

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров18K
Приветствую всех!
За годы своего существования советская промышленность успела выпустить многие десятки моделей газоразрядных индикаторов, начиная с опытных и заканчивая серийными. Среди них особый интерес вызывают матричные. Их было меньше всего, но именно они являются самыми интересными.



Итак, в сегодняшней статье рассмотрим, пожалуй, самый легендарный индикаторный прибор из этой серии — дисплей МС6205 на базе индикаторной панели ГИП-10000. Узнаем, как его запустить и как он устроен, попутно напишем софт для управления им. Традиционно будет много интересного.
Читать дальше →

Можно ли использовать DMA вместо memcpy в Linux

Время на прочтение7 мин
Количество просмотров5.3K

В интернете можно найти описание проблем, связанных с использованием DMA для стандартной функции копирования данных из памяти в память:

Linux – DMA memcpy operation in Linux

Давайте попробуем разобраться, как можно использовать интерфейс к DMA для реализации стандартной операции копирования memcpy и есть ли в этом смысл.

Читать далее

Ближайшие события

VSCode+CMake+openocd для программирования и отладки ch32

Уровень сложностиСредний
Время на прочтение12 мин
Количество просмотров17K

На хабре немало статей по настройке окружения для разработки под микроконтроллеры stm32 и другие платформы. Кто-то предпочитает использовать спец.пакеты (CubeIDE, Keil), кто-то - расширения для IDE "общего назначения" (PlatformIO, VisualGDB), кто-то, как и автор, "голый" CMake в связке с бесплатным VSCode.

В процессе знакомства с пока еще не слишком популярными RISC-V микроконтроллерами ch32, которые, в целом, способны заменить stm32, захотелось обеспечить себе привычную и уже удобную связку VSCode+CMake для программирования, сборки, прошивки и отладки. И это получилось!

RISCнём (по-китайски)

Опыт прошивки Arduino WiFi без USB порта

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров6.6K

Плата Arduino Wi-Fi представляет собой составной девайс два в одном: обычный Arduino UNO (на чипе ATmega328P) и Wi-Fi модуль (ESP8266 ). Каждое из устройств имеет свой процессор, свою оперативку и свой EEPROM (энергонезависимая память). И программируется все это, соответственно, двумя скетчами, которые выполняются одновременно и независимо друг от друга.

Такая архитектура оправдана — ATMega может выполнять критические по времени задачи в то время как ESP подвисла ожидая таймаута, например при оборвавшемся TCP соединении во время сессии.

Взаимодействовать между собой устройства могут через UART интерфейс (Universal asynchronous receiver/transmitter – универсальный асинхронный приемник — передатчик). Используются 2 провода. Tx одного устройства соединяется с Rx другого и наоборот.

Также на плате есть чип CH340, это UART USB-TTL преобразователь, с одной стороны у него UART интерфейс, а с другой USB интерфейс для связи с компьютером. Для переключения соединений между устройствами используются DIP-переключатели:

Читать далее

Как провезти в чемодане баночку урановой руды в Москву из Сан-Франциско?

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров11K

"Но как провезти в чемодане баночку урановой руды в Москву из Сан-Франциско?" - спросил я у итальянца Габриэле Горла, которого встретил на выставке самоделкиных, Maker Faire в городе Вальехо (этот город интересен тем, что дважды был столицей штата Калифорния, один раз на неделю в 1852 году, а другой — в течение месяца в 1853, но впрочем пост наш не о нем).

Габриэле рассмеялся и подтвердил, что таможни, авиалинии и спецслужбы не очень дружелюбны к таким идеям. Сам он использовал баночку на выставке, чтобы показать работу счетчиков Гейгера собственного производства. Я прикрутил его счетчик к своей FPGA плате, чтобы показывать его на своих семинарах в России и Украине, и обсудил с Габриэле, как модифицировать мой дизайн, чтобы оценить энергию частиц по ширине получаемого импульса.

Только придя домой, я обнаружил, что Габриэле не просто самоделкин.

Читать далее

Какие бывают Cortex-M7 ARM-ы, периферия, шины, память, … DMA

Уровень сложностиСложный
Время на прочтение11 мин
Количество просмотров8.9K

На рисунке приведена структурная схема современного, одного из самых навороченных (я подозреваю) 32-битного ARM процессора или микроконтроллера-microcontroller, в документации используются оба термина: high-performance Flash microcontroller (MCU) based on the 32-bit ARM Cortex-M7 RISC (х.хх CoreMark/MHz) processor.

Мне кажется, если еще разрисовать некоторые прямоугольники из этой схемы, то картинка по масштабу вполне сможет сравниться со структурной схемой какого-нибудь космического корабля.

Все это богатство убирается в микросхеме, которая по объему заметно меньше спичечного коробка. Вы легко можете найти достаточно подробное техническое описание (datasheet) узлов, систем, настроек, спецификаций по этой-такой схеме. Давайте попробуем коротко пройтись по одному из таких описанию, ссылки в конце статьи.

Читать далее

In RISC-V Rust

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров11K

Превращаем простой пример распознавания нот из лабораторных работ Школы синтеза цифровых схем в Enterprise. Используем компилятор Rust для RISC-V микроконтроллера YRV-Plus.

Читать далее

CG Charger BQ: как TP4056, только на стероидах (BQ25895)

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров18K


Сегодня на нашем операционном столе очередное гениальное изобретение компании ClimateGuard — девайс под не менее гениальным названием CG Charger BQ. Расшифровке того, что же всё-таки скрывается под этими загадочными буквами BQ (что означают буквы CG постоянные читатели моего блога уже знают) и посвящена эта статья.

Перед нами умная зарядка для аккумулятора и модуль питания для различных DIY устройств с возможностью микроконтроллерного управления по интерфейсу I2C. Это формальное определение назначения этого модуля, но после ознакомления с даташитом BQ25895 и экспериментов с самим модулем я могу сказать, что это невероятно продвинутая микросхема управления питанием, которая при соответствующем подходе сможет удовлетворить любые ваши прихоти по обеспечению питанием ваших гаджетов.

Правда для осмысленной работы с BQ25895 вам понадобятся пара высших образований в Computer Science (смайл) и… эта статья…
Читать дальше →

Удаленно следим за состоянием газового котла. Продолжение

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров16K

Хочу поделиться с читателем печальной, но в тоже время забавной историей, которая произошла накануне Нового Года. Эта история печальна, так как её пришлось пережить, а насколько она забавна, судить вам. Так или иначе, будет затронута тема газового котла на даче и вопрос стабильности его работы. Конечно же, не обошлось без DIY самоделок и разработки специализированного программного обеспечения.

Читать далее

Вклад авторов