Как стать автором
Обновить
118.48
Рейтинг

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

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

Сначала показывать
  • Новые
  • Лучшие
Порог рейтинга
  • Все
  • ≥0
  • ≥10
  • ≥25
  • ≥50
  • ≥100

Мигаем светодиодом по протоколу Zigbee или модуль управления Триколор GS SMH-ZW-I1 с прошивкой PTVO

Реверс-инжиниринг *Программирование микроконтроллеров *Разработка для интернета вещей *Умный дом DIY или Сделай сам

После написания поста Zigbee роутер с WiFi или прокачиваем модуль управления Триколор GS SMH-ZW-I1 меня стали терзать смутные сомнения, что многое осталось недосказанным, недопаянным и недопрошитым.

На самом деле прошить чип CC2351 в координатор или роутер Zigbee довольно тривиальная задача, и гораздо интереснее сделать на его основе END-Device. Большинство читателей Хабра знакомы с Arduino или ESP8266, и знают, что каждый новичок, изучающий основы программирования микроконтроллеров и схемотехники на этих платах для разработки первым делом учится мигать светодиодом. Поэтому предлагаю рассмотреть модуль управления Триколор GS SMH-ZW-I1 в качестве своеобразной платы для разработки и тоже помигать имеющимся на ней светодиодом. Сделать это можно не написав ни единой строчки кода, с помощью конфигуратора замечательной прошивки от ptvo , специально предназначенной для создания своих Zigbee устройств на чипах CC2530, CC2531, да еще и с поддержкой усилителей сигнала CC2590, CC2591, CC2592, RFX2401.

Тем, кому стало интересно - добро пожаловать под кат!

Читать далее
Всего голосов 11: ↑11 и ↓0 +11
Просмотры 2.3K
Комментарии 3

Пять презентаций по RISC-V процессорам, музыка на ПЛИСах и продолжение следует

Высокая производительность *FPGA *Программирование микроконтроллеров *Схемотехника *Электроника для начинающих

Школа синтеза цифровых схем, о которой вы могли читать месяц назад в посте "Проектировщики RISC-V из Yadro покажут школьникам как проектировать процессоры" - прошла на ура. Все 25 мест в офлайне в Сколково были все время заняты. Присутствовали школьники, студенты, преподаватели вузов и кружков. Всего было подано 86 заявок. Все ~70 FPGA плат которые пожертвовали Наносемантика, Максим Маслов и другие, были быстро разобраны, люди охотно проходили роснановский онлайн-курс чтобы получить сертификат и соответственно плату.

Из новых пунктов программы больше всего интереса вызвали опыты по распознаванию мелодий с помощью zero-crossing и конечных автоматов, реализованных в ПЛИС. Это занятие провели преподавательница флейты Мария Беличенко и молодые инженеры Семён Москоленко (МИРЭА) и Виктор Прутьянов (МФТИ, Сколтех, SberDevices) - см. видео в посте.

Так как школа оказалась популярна, ее решили расширить до полноценного семестрового курса по субботам, начиная с 30 октября 2021, с объемом материала на уровне университетских лабораторных по FPGA (типа MIT 6.111), к которым мы добавили элементы компьютерной архитектуры, базовый туториал для ASIC и некоторые умения из промышленности.

Про школу на ChipEXPO и планы будущей
Всего голосов 13: ↑12 и ↓1 +11
Просмотры 2.6K
Комментарии 4

Пишем драйвер виртуального EEPROM для STM32F030

Блог компании RUVDS.com Программирование *Программирование микроконтроллеров *

Кто хотел сохранять какие-либо данные в FLASH микроконтроллера во время работы устройства сталкивались с особенностями работы с этим видом памяти. Из-за необходимости стирания страницы большого объёма для перезаписи ячейки FLASH памяти, возникает угроза потери данных из-за отключения питания во время процесса обновления (один из вариантов). В этой статье я расскажу как можно упростить работу с FLASH, да и ещё с гарантией сохранения данных при прерывании процедуры обновления на любом этапе. Реализуем это на STM32F030.
Читать дальше →
Всего голосов 61: ↑58 и ↓3 +55
Просмотры 5.2K
Комментарии 28

Seeed XIAO RP2040: микроконтроллер с отличными возможностями за $5

Блог компании Selectel Программирование микроконтроллеров *Гаджеты DIY или Сделай сам Электроника для начинающих
Перевод
image

На первый взгляд Seeed XIAO RP2040 не выглядит многообещающим. Но это обманчивое впечатление. Возможностей у него много. Благо, у компании есть опыт разработки подобных систем, ведь это не первый микроконтроллер от Seeed. Более того, ранее компания выпускала устройство на базе Seeeduino XIAO, которое выглядит близнецом XIAO RP2040, да и стоит столько же — $5.40.

Но у XIAO RP2040 другой чип — здесь мы имеем дело с RP2040 SoC, так что этот микроконтроллер гораздо более мощный, чем предыдущая система. Причем доплачивать не нужно — стоимость та же. Стоит ли новинка пяти долларов? Забегая наперед, скажу — да, стоит.
Читать дальше →
Всего голосов 56: ↑47 и ↓9 +38
Просмотры 13K
Комментарии 18

Разгадываем ребус вторичных часов «Воронеж»

Блог компании RUVDS.com Ненормальное программирование *Программирование микроконтроллеров *Производство и разработка электроники *DIY или Сделай сам
Tutorial

В предыдущей статье я затеял создание контроллера вторичных часов «Воронеж», и даже добился некоторой работоспособности. Однако так и не разгадал окончательно ребус формы и длительности передаваемого сигнала. На ту публикацию откликнулось большое количество людей, и предложило свою помощь. Кто-то помогал советом, кто-то снял живые осциллограммы с различных первичных часов, кто просто помог добрым словом и оказал поддержку. В результате понял, что нельзя бросить это устройство в стадии недоделки, потому что за ним следит такое количество людей. Поэтому было принято волевое решение довести всё до конца, при этом с максимальным качеством, доступным в домашних условиях. Главный девиз этой разработки был:
Делай хорошо — плохо само получится.
В результате на вторую часть я потратил в полтора-два раза больше времени, чем на первую: причёсывал код, занимался механикой, чертил детали корпуса, печатал их на принтере, точил на токарном станке, а главное, страдал от перфекционизма. Как обычно бывает, механическая часть съела чуть ли не 40% всего времени. В общем, поехали, будет интересно: от идеи до законченного устройства.
Читать дальше →
Всего голосов 107: ↑104 и ↓3 +101
Просмотры 11K
Комментарии 20

Трясём стариной — или как вспомнить Ассемблер, если ты его учил 20 лет назад

Блог компании RUVDS.com Ненормальное программирование *Assembler *Системное программирование *Программирование микроконтроллеров *
Tutorial
Это — тёплая, ламповая статья об Ассемблере и разработке ПО. Здесь мы не будем пытаться писать убийцу Майкрософта или Андроида. Мы будем писать убийцу 2048. Здесь не будет докера и терраформа с кубером. Зато здесь вы сможете найти большое количество материалов по Ассемблеру, которые помогут вам вновь погрузиться в мир трёхбуквенных инструкций. Доставайте пивко, и поехали. (Саундтреком к этой статье можно считать IBM 1401 a system manual)

Читать дальше →
Всего голосов 97: ↑91 и ↓6 +85
Просмотры 15K
Комментарии 100

MISRA C: борьба за качество и безопасность кода

Блог компании PVS-Studio C++ *IT-стандарты *C *Программирование микроконтроллеров *

Пару лет назад в статическом анализаторе кода PVS-Studio появился ряд диагностических правил для проверки соответствия текста программ стандарту MISRA C и MISRA C++. Увидев интерес и собрав feedback, команда разработчиков стала дальше развивать анализатор в этом направлении. В статье будет рассказано про стандарт MISRA C/C++, отчёт MISRA Compliance, про то, что мы уже успели сделать и что собираемся достичь до конца года.


0866_MISRA_C_ru/image1.png

Читать дальше →
Всего голосов 16: ↑14 и ↓2 +12
Просмотры 3.4K
Комментарии 4

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

Open source *Программирование микроконтроллеров *Производство и разработка электроники *DIY или Сделай сам Электроника для начинающих
Tutorial

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

Читать далее
Всего голосов 2: ↑2 и ↓0 +2
Просмотры 658
Комментарии 2

Разработка контроллера резервного питания. Технология отладки и тюнинг

Open source *Программирование микроконтроллеров *Производство и разработка электроники *DIY или Сделай сам Электроника для начинающих
Tutorial

Здесь рассматривается технология отладки платы контроллера резервного питания и его программного обеспечения . Используются: адаптер SWD, осциллограф, VT100 терминал через UART, движок FreeMaster, экспорт и анализ в MATLAB. Дан пример реализации регулируемого источника напряжения. Заключительный тюнинг платы.

Читать далее
Всего голосов 15: ↑14 и ↓1 +13
Просмотры 4K
Комментарии 8

Знакомимся с аудио платой Bluetrum AB32VG1 RISC-V Bluetooth через RT-Thread

Блог компании RUVDS.com Программирование микроконтроллеров *Производство и разработка электроники *Компьютерное железо Звук
Перевод

Bluetrum AB32VG1 – это макетная плата на базе микроконтроллера AB5301A RISC-V, спроектированного как под приложения с использованием Bluetooth-аудио, так и для общих проектов, которые работают с операционной системой реального времени RT-Thread.

Эту плату мне прислали разработчики RT-Thread, и далее я опишу свой опыт первого знакомства с ней. В ходе этого небольшого эксперимента я опробую RT-Thread Studio IDE, помигаю светодиодом и поработаю с примером кода для аудио интерфейса, так как для Bluetooth пока примеров нет…
Читать дальше →
Всего голосов 34: ↑32 и ↓2 +30
Просмотры 3.1K
Комментарии 1

Интеграция устройства в экосистему Samsung SmartThings на примере «Умного чайника» Часть 2: переход с ESP8266 на ESP32

Блог компании Samsung Программирование микроконтроллеров *Разработка для интернета вещей *Умный дом DIY или Сделай сам
Tutorial

В первой части статьи на примере “Умного чайника” я описал процесс разработки приложения, интегрированного в экосистему SmartThings. В этой части я усложняю пример: добавляю датчик температуры и делаю плавную индикацию RGB-светодиода. Я опишу, чем отличаются ESP8266 и ESP32, и почему в этом примере нам больше подходит именно ESP32. Также будет описана передача сообщений между потоками/тасками на примере очередей в FreeRTOS. Таким образом, данная статья предназначена для всех, кто хочет перейти от самых простых умных устройств с минимумом функционала, к устройствам чуть более сложным как с программной, так и с железной точки зрения.

Читать далее
Всего голосов 12: ↑11 и ↓1 +10
Просмотры 4.7K
Комментарии 17

Пересаживаем NXP-шный пример для Teensy 4.1 на язык C++

Системное программирование *Программирование микроконтроллеров *Компьютерное железо
В предыдущих статьях мы освоили внедрение примеров из NXP-шной среды разработки MCUXpresso в плату Teensy 4.1. Однако у тех примеров, с которыми мне довелось повозиться (а я работал с USB-примерами), есть один существенный (с моей точки зрения, разумеется) недостаток. Все они написаны на языке Си. Ну, то есть, «на чистых Сях», если на жаргоне. А вот оригинальная библиотека от Teensy была написана на С++. И я являюсь сторонником именно этого языка. Не могу жить без честных классов, виртуальных функций и некоторых других средств, которых нет в чистых Сях.



Когда я программирую в среде разработки Keil, чтобы сменить язык, достаточно переключить его в свойствах конкретного исходного файла. В цикле статей про NIOS II я просто переключал язык, изменив расширение файла с *.c на *.cpp. (Со всеми деталями это показано тут ; не как новинка, а как рутина — тут). Увы, в нашем случае так не получится. И количество действий, которое следует совершить, тянет на небольшую статью. Вот её я сейчас и напишу. Итак, давайте разбираться, что там к чему…
Читать дальше →
Всего голосов 12: ↑11 и ↓1 +10
Просмотры 1K
Комментарии 0

От копии аркады 90-х на отдельном носителе до полноценной компьютерной игры со своим геймпадом

Блог компании Питерская Вышка C++ *Разработка игр *Программирование микроконтроллеров *Разработка под Arduino *

Привет, Хабр!

Наверняка в фильмах или сериалах, а может быть даже на собственном опыте, вы сталкивались с игровыми автоматами. Мы тоже, и однажды у нас появилась идея создать современную версию игры, похожую на всеми любимую космическую аркаду Blasteroids. А чтобы вдвойне воплотить наш замысел в жизнь, мы сделали два режима управления игрой, один из которых — с помощью Ардуино, играющего роль маленького переносного геймпада, а другой — с помощью клавиатуры.

Читать далее
Всего голосов 5: ↑4 и ↓1 +3
Просмотры 2.1K
Комментарии 0

Почти детективная история одной «кровавой» ошибки

Блог компании Timeweb Программирование *Промышленное программирование *Программирование микроконтроллеров *Производство и разработка электроники *
Tutorial


Дополнение статьи «Размещение кучи FreeRTOS в разделе CCMRAM для STM32», и в продолжение серии статей про различные полезности для STM32 (1, 2 и 3), хочу обратить внимание на одну особенность работы с CCM RAM памятью, которая может быть причиной совершенно не очевидных ошибок в работе устройств, одна из которых выпила у автора достаточно много крови, так что с чистой совестью её действительно можно назвать «кровавой».

А сама история такова. В логике алгоритма некого устройства засела трудноуловимая плавающая ошибка. И чтобы временно купировать её влияние, было принято решение периодически устройство перезагружать. Сам знаю, что это не очень хорошее решение, но как временный костыль пойдет.

Вот только костыль не помог. Помогало только физическое выключения питания, а программная перезагрузка микроконтроллера не помогала! Более того, даже перезагрузка с помощью кнопки RESET иногда не срабатывала! Устройство перезагружалось, но неправильное поведение устройства никуда не исчезало и в итоге все равно приходилось отключать питание физически.

Читать дальше →
Всего голосов 31: ↑29 и ↓2 +27
Просмотры 7K
Комментарии 28

Пакетный обмен данными по UART

Программирование *C++ *C *Программирование микроконтроллеров *Разработка под Arduino *
Из песочницы

На сегодняшний день существует много способов организовать обмен данными между Desktop-приложением и устройствами на микроконтроллерах: Wi-Fi, Bluetooth, RF, USB, преобразователи интерфейсов и т.д.

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

В случае использования интерфейсов RS-232, RS-485, RS-422 или чистого UART организация пакетного обмена данными ложится на программиста.

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

Читать далее
Всего голосов 8: ↑4 и ↓4 0
Просмотры 3.5K
Комментарии 44

Как посчитать синус быстро

Алгоритмы *C *Математика *Программирование микроконтроллеров *
Из песочницы

... и точно. Точнее, с заданной точностью, простите за каламбур.

Под катом я расскажу, как сделать это с использованием школьного курса алгебры и целочисленной арифметики, при чём здесь полиномы Чебышёва I-го рода, и дам ссылки на примеры реализаций для ПК и Cortex-M3.

Читать далее
Всего голосов 54: ↑52 и ↓2 +50
Просмотры 11K
Комментарии 50

Микроконтроллер + компьютер + своё программное обеспечение

C++ *Интерфейсы *Программирование микроконтроллеров *Гаджеты DIY или Сделай сам
Из песочницы
Tutorial

Своё устройство на микроконтроллере я начал "пилить" еще в начале 2019-го. Тогда я даже не думал, что захочу связать его с компьютером, но устройство постоянно эволюционирует, и вот настала пора. Причём нужно не просто связать, а написать своё фирменное ПО, которое будет управлять устройством через USB. С подобной задачей я столкнулся впервые, а беглый поиск в сети выдал такие результаты, после которых появилось ещё больше вопросов и каша в голове.

Читать далее
Всего голосов 19: ↑13 и ↓6 +7
Просмотры 9.1K
Комментарии 30

Проектировщики RISC-V из Yadro покажут школьникам как проектировать процессоры

Параллельное программирование *FPGA *Программирование микроконтроллеров *Процессоры Электроника для начинающих

Через неделю будет выставка ChipEXPO, на которой для начинающих будет школа проектирования железа с упражнениями на FPGA платах, а для более продвинутых - конференция Микроархитектура, верификация и физическое проектирование микросхем.

И на части для школьников, и на части для взрослых будут выступать проектировщики RISC-V процессора из Syntacore / Yadro Станислав Жельнио и Никита Поляков. Сегодня Коммерсант сравнил этот проект с полетом на Луну.

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

Далее мы расскажем про новые упражнения в школе этого года - распознавание и генерацию музыки с помощью FPGA и приведем забавные сведения из советской физматшкольной книжки 1963 года как Бах изменил гаммы.

В конце поста мы покажем, как эта деятельность поможет получить в будущем интересные и высокооплачиваемые работы в Apple, Intel, SpaceX, как и самом в модном в этом сезоне российском микроэлектронном проекте - Syntacore / Yadro (в конце поста скриншоты их объявлений).

Как же все установить до семинара?
Всего голосов 26: ↑25 и ↓1 +24
Просмотры 6.4K
Комментарии 50

«Магический глаз» тёплых ламповых времён — эмуляция на ардуино

Программирование микроконтроллеров *DIY или Сделай сам
Из песочницы

В магнитофонах и приёмниках моей юности использовались исчезнувшие ныне ламповые индикаторы уровня на лампах 6E1П или 6Е5С. Сейчас пришла пора ностальгирования по "старым временам" и на алиэкспрессе или амазоне можно купить собранные индикаторы, они почти также популярны как часы на лампах "Никси".

Поскольку лампа требует высокого напряжения для работы, в современных устройствах это решается с помощью преобразователя напряжения на таймере 555 упроавлящим мощным полевым транзистором включенным в первичную обмотку повышающего трансформатора, и дальше вторичная обмотка подключается к умножителю напряжения из 4-5 ступеней. Этого достаточно чтобы преобразовать входные 5 вольт в 250 с током 1-2 ma.

Я хочу поделиться своим домашним проектом, суть которого в эмуляции, насколько возможно, "зелёного глаза" лампы 6E1П с помощью быстрого OLED дисплея, контролируемого платой Arduino:

Читать далее
Всего голосов 19: ↑18 и ↓1 +17
Просмотры 10K
Комментарии 27

Контроллер АСУНО с ВЕБ интерфейсом настроек

Программирование *Программирование микроконтроллеров *Схемотехника *Распределённые системы *Производство и разработка электроники *
Из песочницы

Это моя первая статья на Хабр. Статья посвящена разработке и некоторым особенностям контроллера, поэтому вопросы, относящиеся к организации работы сервера не рассматриваются в данной статье. Но для того, чтобы лучше понять работу контроллера АСУНО некоторые моменты все же будут даны. В статье будет рассмотрено назначение контроллера, дана функциональная схема, фото самого контроллера и подключение внешнего оборудования. В статье приводятся принтскрины веб интерфейса. ВЕБ интерфейсом легко пользоваться, он интуитивно понятен для обслуживающего персонала. Хотя им пользуются только при настройке контроллера во время пусконаладочных работ это сильно экономит время настройки и подготовки контроллера к работе. Наличие в контроллере ТСР клиента и ТСР сервера расширяет возможности диагностики оборудования. Контроллер выполнен на процессоре PIC32MX795F512L фирмы Micrpchip. ПО разработано без использования ОС, написано на С. Возможно данная статья будет иметь продолжение, если заинтересует читателей. Приятного чтения. Область применения

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

Читать далее
Всего голосов 7: ↑7 и ↓0 +7
Просмотры 1.4K
Комментарии 2

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