Обновить
215.63

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

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

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

Программирование ESP32 с ESP-IDF в среде platformio #1

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели4.3K

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

Это вторая статья из цикла по программированию ESP32 на ESP‑IDF. В первой части мы познакомились с базовой терминологией RTOS и реализовали несколько простых задач (tasks). Сегодня же мы перейдём к работе с GPIO и прерываниями (ISR), а заодно обсудим особенности настройки стека задач в ESP‑IDF (спасибо за совет @0x6b73ca).

Читать далее

В русских клубах Америки можно делать не только дискотеки и выступления писателей, но и митапы по FPGA

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

В городах Америки и Канады, где живут много наших соотечественников, существуют русские клубы, в которые ходят на дискотеки и викторины, для игру в мафию и на выступления писателей. В столице Калифорнии городе Сакраменто, где живет около 80 тысяч русских и украинцев, а также есть армянский и молдавский рестораны, таким клубом является Synergy Social Club.

В этом клубе я недавно провел просветительский митап по главной технологии современной цифровой микроэлектроники: маршруту проектирования RTL-to-GDSII для микросхем в массовых изделиях типа смартфонов, и связанной с этим маршрутом технологии FPGA, которые применяются для прототипирования ASIC-ов и обучения в университетах будущих проектировщиков.

Эти технологии полезны в наше тревожное время для надежного трудоустройства в самых разных местах: от производителя ракет Lockheed Martin до производителя айфонов Apple. Вот примеры объявлений:

Читать далее

Альянс RISC-V. Цели создания, основные направления деятельности, проекты

Уровень сложностиПростой
Время на прочтение14 мин
Охват и читатели1.4K

Еще несколько лет назад казалось, что на рынке процессорных архитектур перемен не будет: x86 прочно удерживал серверы и десктопы, а ARM доминировал в мобильных устройствах и в микроконтроллерной отрасли. Все новые инициативы выглядели либо нишевыми, либо обреченными на маргинальное существование. Но постепенно стало заметно: всё чаще в новостях упоминается странная аббревиатура — RISC‑V. То NVIDIA заявляет о поддержке, то Huawei инвестирует в разработку процессоров на его основе, то стартапы один за другим анонсируют новые решения, основанные на открытой архитектуре.

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

Россия не осталась в стороне от этой тенденции: для координации усилий по развитию отечественных технологий на базе RISC‑V был создан Российский альянс RISC‑V и настало время представиться и рассказать о том, кто мы такие, как создавался Альянс, кто стоял у истоков его создания и почему эта инициатива важна для технологической независимости страны. Погрузимся в историю и узнаем, основные цели Альянса, его ключевые направления деятельности и рассмотрим наиболее интересные проекты, реализуемые с использованием открытой архитектуры, которая объединила ведущие IT‑компании России.

Читать далее

Задача о пересечении интервалов (или зачем программисту MК стабильная сортировка)

Уровень сложностиПростой
Время на прочтение7 мин
Охват и читатели5.9K

В программировании микроконтроллеров эпизодически приходится решать задачу о выявлении пересечения интервалов.

На первый взгляд простая задачка, однако, как оказалось, реализовать такое в коде - это вовсе нетривиальная задачка. Но обо всём по порядку...

В этой заметка я представил свой алгоритм определения пересечений интервалов и его разбор.

Читать далее

Программирование ESP32 с ESP-IDF в среде platformio #0

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели6.5K

Привет хабр!
Совсем недавно мне в руки попала плата ESP32 (NodeMCU‑32S). Ранее я уже работал с ESP8266 и даже создавал на ней простейшее веб‑приложение в режиме Station. Делал я все это в ArduinoIDE и был рад обнаружить расширение, которое позволяло организовать мой проект (да и просто в VSCode удобнее работать) - PlatformIO. Именно в PlatformIO я в первый раз увидел фреймворк ESP-IDF и начал потихоньку углубляться в эту тему.

Читать далее

Насколько быстр Intel 8080? Используем чипсет на FPGA чтоб проверить

Уровень сложностиСредний
Время на прочтение14 мин
Охват и читатели7.1K

Я люблю вызовы - например, написать код в условиях ограниченных ресурсов: медленный процессор, странный набор инструкций, крохи памяти. У меня уже было несколько проектов такого рода - я запускал тяжелую вычислительную задачу на процессорах, которые уже разменяли пол-века: Intel 4004, Intel 4040 и Intel 8008. Очевидно, что на очереди Intel 8080!

В этой статье я опишу детали проекта по созданию системной платы с чипсетом на основе FPGA, на которой будет запущен Intel 8080A-1 на частоте выше 3Мгц. А также расскажу о том, как писать программы для этого процессора на C, и в финале покажу результаты бенчмарков - Dhrystone и CoreMark.

Читать далее

Настройка SSH для коммитов в репозиторий

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

Итак вам надо клонировать репозиторий с компанейского репозитория и git просит какие-то непонятные пароли.
Знакома ситуация?

В этой заметке я написал как настроить ssh ключи.

Читать далее

О контроллере батареи ИБП (вопрос к читателям Хабра)

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

Среди ИТ специалистов ходит анекдот, что системные администраторы делятся на 10 категории, на тех кто пока не делает бэкап, и на тех, кто уже делает резервное копирование данных. А так как самой частой причиной отказов в ЦОДах является – сбой электропитания, то обеспечение надежного электрического питания для компьютера (да и для любой другой цифровой техники) является наиглавнейшей задачей.

К сожалению, большинство простых (офисных) источников бесперебойного питания выпускаются либо вообще без возможности дистанционного/автоматизированного контроля его состояния (только звуковое оповещение), либо имеют подключение по USB с собственным протоколом связи и проприетарным приложением, которое обладает самым минимумом функций (наверное маркетологи таким образом ненавязчиво подталкивают потребителей к покупке более дорогих моделей своего оборудования).

Но даже при наличии связи с ИБП, информация о его состоянии батареи бывает, мягко говоря, противоречивая, а информация о температуре внутри ИБП и вовсе отсуствует. И даже на более дорогих моделях может не отслеживать некоторые важные параметры работы источника бесперебойного питания, в первую очередь, состояние его аккумуляторной батареи.

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

Некоторое время настрадавшись с подключением UPS по USB с помощью проприетарных программ, я решил разобраться с данной проблемой кардинально - сделать простенький контроллер состояния батареи источника бесперебойного питания со стандартным протоколом связи ИБП, который бы подошел для любого типа и модели источника бесперебойного питания при использования дома или в небольшом офисе.

Читать далее

Апгрейд по реверс-инженерски: хакаем прошивку кнопочного телефона и пишем для него программы

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели5.1K

Осторожно: в данной серии статей я рассказываю о реверс-инжиниринге и хакинге простых кнопочных звонилок. Цель простая: расширить скудный функционал телефонов ценой до 1 000 рублей и сделать их привлекательной платформой для самых разных гиков. Если вам интересно узнать, как происходит процесс взлома и изучения прошивок, а также написания новых программ для кнопочников — жду вас под катом!

Читать далее

Работа с RISC-V контроллерами на примере GD32VF103 и CH32V303. Часть 7. АЦП, ЦАП

Время на прочтение16 мин
Охват и читатели2.2K

Макетная плата GD32VF103


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

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

Определение Аварии по MEMS Акселерометру

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели1.4K

В настоящее время акселерометры встраивают куда только можно: в часы, автомобили, самокаты, LapTop-ы и прочее.

В данном тексте изложена концепция распознавания аварии по данным с MEMS акселерометра.

В этом тексте Вы узнаете зачем программисту микроконтроллеров надо знать дифференциальную геометрию.

Читать далее

Газоразрядное табло для машины времени, или как я оказался в титрах к японской дораме

Уровень сложностиПростой
Время на прочтение9 мин
Охват и читатели7.3K

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

Большинство конструкций на газоразрядниках, которые мне попадались в категории «для начинающих», использовали давно снятые с производства микросхемы по типу К155ИД1 или SN74141. Также многие встреченные схемы экономили на оных, используя один дешифратор для всех ламп сразу, коммутируя аноды через оптопары.

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

Кто же знал, чем это всё для меня обернётся!

Читать далее

Электронная нагрузка для разряда аккумуляторов на микроконтроллере PIC16F628A

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


Привет, Хабр! У данного микроконтроллера отсутствует встроенный аналогово-цифровой преобразователь (АЦП), зато есть цифро-аналоговый (ЦАП) и компараторы. Это позволяет использовать PIC16F628A для управления разрядным устройством с довольно продвинутым функционалом.
Читать дальше →

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

Переводим спортивное табло на управление по Bluetooth и контроллер arduino

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

Есть у нас в институте старенькое спортивно табло eltablo. По нему я, ещё будучи студентом, мячом попадал. И есть (точнее была) у него неприятная проблема: это табло управляется по страшному проводному пульту (как этот пульт работает, я до сих пор не разобрался). Длина провода от пульта до табло на глаз метра 3-4. В стоке его хватает, только чтобы сидеть прямо под ним, что, естественно, неудобно (не видно счёт, неправильный ракурс для судейства и т.д.) Поэтому наши физруки им управляют с противоположной стороны зала, что тоже не совсем удобно, но хотя бы видно, что на этом табло происходит.

В этом, собственно, и заключается проблема: чтобы подключить пульт, пришлось прокинуть не хилой длины проводок, на вскидку, метров 20. Из-за этого табло управляется не всегда стабильно. Это меня и попросили решить. Естественно, я решил, что проводам и пульту место на помойке, а таблом будем рулить по беспроводному соединению и с телефона!

Читать далее

Проектируем змейку под учебный RISC-V микроконтроллер

Уровень сложностиСложный
Время на прочтение35 мин
Охват и читатели1.9K

На третьем курсе некоторые направления в МИЭТ проходят лабораторный практикум, на котором им даётся возможность спроектировать собственную систему архитектуры RISC-V и написать под неё программу на С или C++.

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

В этой я расскажу о том, как была написана данная игра под платформу, поддерживающую символьный вывод.

Ползём дальше 🐍

Рекомендации по выбору SCADA

Время на прочтение18 мин
Охват и читатели2.5K

Выбор SCADA системы определяет решение, которое скорее всего вы будете использовать в течение как минимум 10+ лет. Поэтому крайне важно понимать принципы выбора ПО. Предлагаем ознакомиться с мнением Роя Кока (Roy Kok) – инженера с более чем 30-летним опытом работы в области электротехники и промышленной автоматизации.

Читать далее

Цитаты про программирование и разработку в общем

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

В работе на планерках и от коллег порой такое услышишь, что это становится либо цитатой или мемом. Вот небольшая подборка того, что мне понравилось за 12 лет работы программистом МК. Некоторые цитаты имеют автора другие, просто безымянные афоризмы сродни народному творчеству. Итак обо всём по порядку...

Читать далее

Разработка фирмваре с Copilot

Время на прочтение3 мин
Охват и читатели2.9K

Хотите узнать, как мне удалось преобразовать проект управляемой по CAN светодиодной матрицы с коммерческого Keil uVision IDE и RTX RTOS в полностью бесплатную связку VS Code + FreeRTOS, не написав ни строчки кода?

Узнать

Цифровые домофоны. Гость из Польши в российских подъездах

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели6.9K
Приветствую всех!
Уверен, эти девайсы знакомы многим из вас. Даже если вы не живёте в Москве или Питере, где расположена большая их часть, вероятность, что в вашем городе есть хотя бы один такой экземпляр, весьма высока. В своё время их ставили повсеместно: от «элитных» жилых комплексов до простых панельных пятиэтажек. И, конечно же, я никак не мог обойти их вниманием. Сложно найти ряд насколько разных, настолько же и идентичных между собой домофонов.



Сейчас мы поговорим об этих, казалось бы, простых, но на деле скрывающих много примечательного штуках. Увидим много интересного от Arduino в продакшне до бэкдоров и секретных кодов, заставим работать несколько экземпляров и посмотрим, как они устроены.
Читать дальше →

Greddy Multi DA — ремонт, ставший разработкой

Время на прочтение3 мин
Охват и читатели1.6K

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

Если интересно, прошу под кат.

Читать далее

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