Обновить
252.02

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

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

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

Какой датчик лучше подходит для хлопкового выключателя KY — 038 или GY — MAX9814?

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

За последнее время я нахожу множество статей и видио про самодельные хлопковые выключатели поэтому я решил провести исследование темой которого является изучение сигнала и сравнение датчиков GY - MAX9814 и KY - 038 , так как данные датчики довольно популярны у радиолюбителей.

Читать далее

Продолжение тестирования i.MX RT на плате MIMXRT1170-EVK

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

В прошлой статье было начато тестирование чипов семейства i.MX RT. Здесь продолжаем тестировать.

Читать далее

Как на Azure RTOS сделать Wi-Fi маршрутизатор для IoT

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

IoT маршрутизатор нужен для сбора и передачи данных в облака от различных проводных локальных шин (CAN, RS485, USB …) и беспроводных локальных сетей (Bluetooth, LoRa …).

Используя Azure RTOS сделать свой маршрутизатор достаточно просто. Нужно только правильно выбрать пару ингредиентов: Wi-Fi модуль и универсальный, быстрый, защищённый, экономичный микроконтроллер с открытой архитектурой.

Читать далее

Микроэлектроника, взгляд изнутри: автоматическая машина для сборки и размещения Zheng Bang ZB3245TSS с сюрпризом

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


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

Разработка защищённого WEB интерфейса для микроконтроллеров

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

Цель - разработка компактного, простого, быстрого, защищённого и адаптивного WEB интерфейса для встраиваемого устройства на микроконтроллере. Микроконтроллер на ядре ARM Cortex-M, с размером Flash 1...4 Мегабайта и RAM 200...1000 Кбайт, частота ядра 100-1000... МГц.

Читать далее

Micropyserver. Реализуем Basic Auth для IoT устройств

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

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

Для решения задачи реализуем механизм Basic Auth при помощи библиотеки mycropyserver (простой HTTP сервер для устройств типа ESP32 и ESP8266), написанной на Micropython.

Читать далее

Assembler Editor Plus: Добавление нового микроконтроллера

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

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

Дальше будет много картинок.

Читать далее

Бинарный поиск в микроконтроллере

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

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

Читать далее

Root-of-Trust для IoT и другие тенденции безопасности устройств интернета вещей

Время на прочтение12 мин
Охват и читатели4.8K
Тема информационной безопасности становится всё более актуальной с каждым годом. Хаб про информационную безопасность находится на первом месте по рейтингу и втором по числу подписчиков. Однако в основном материалы посвящены различным сетевым, веб, облачным и другим технологиям, традиционно рассматриваемым в контексте безопасности. И почти не касаются встраиваемых применений, особенно с ограниченными ресурсами. В то время, как количество последних больше на порядки. В этой статье мы рассмотрим некоторые особенности и тенденции безопасности интернета вещей, берущие своё начало в разработке и модели распространения.

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

Практика в работе с нестандартными шинами комплекса Redd

Время на прочтение15 мин
Охват и читатели2.1K
В прошлой статье мы рассмотрели теорию по управлению тысячей мелочей в комплексе Redd, но чтобы не раздувать объём, отложили практику на следующий раз. Пришла пора провести практические опыты. Те же, кто не пользуется комплексом Redd, тоже смогут найти в этой статье полезные знания, а именно — методику подачи Vendor команд в USB накопители из ОС Linux, ведь как уже говорилось, контроллер STM32 в комплексе выполняет функцию SD-ридера, то есть — накопителя.


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

Доступ к шинам комплекса Redd, реализованным на мостах FTDI

Время на прочтение14 мин
Охват и читатели2.8K
Мы закончили большой теоретический блок, показывающий, как можно строить ПЛИС-подсистему для комплекса Redd; как организовывать связь между ПЛИС и центральным процессором комплекса; как легко сохранять скоростные потоки данных в ОЗУ, имеющем прямую связь с ПЛИС, для последующей их неспешной перекачки к центральному процессору (или наоборот, помещать данные в это ОЗУ для последующей быстрой выдачи в канал). Мы рассмотрели методики трассировки работы процессора Nios II. Мы умеем оптимизировать быстродействие процессорной системы на базе Nios II, чтобы работа шла максимально эффективно. В общем, мы изучили весь необходимый минимум теории, и пора бы перейти к практике, спроектировав не очень сложное, но практически полезное устройство… Но имеется одно НО.

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


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

Вся правда об ОСРВ. Статья #33. Использование операционной системы реального времени Nucleus SE

Время на прочтение14 мин
Охват и читатели4.9K
До сих пор в этой серии статей мы рассматривали, какие функции предоставляет Nucleus SE. Сейчас пришло время посмотреть, как ее можно использовать в реальном приложении встраиваемого ПО.


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

Еще к вопросу о множествах

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

Алиса: А почему это место ОЧЕНЬ странное место?
Додо: А потому, что все остальные места — очень уж не странные. Должно же быть хоть одно ОЧЕНЬ странное место.



Итак, рассмотрим текст шаблонного класса BitSet с целью его адаптации к требованиям МК, основные направления оптимизации были определены ранее. Можно, конечно, написать свой собственный класс с нуля, но не будем пренебрегать возможностью ознакомиться с хорошими решениями, ведь библиотека STL (не путать с spl) известна давно и используется повсеместно. Для начала следует найти исходный код, после недолгого странствия по Инету я просто открыл директорию с моим MinGW и разыскал требуемый файл, который и намерен далее обсуждать.
А Вы можете принять участие в осуждении

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

Вся правда об ОСРВ. Статья #21. Почтовые ящики: введение и базовые службы

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


Почтовые ящики были упомянуты в одной из предыдущих статей (#5). Они являются вторым по простоте после сигналов методом межзадачных коммуникаций, который поддерживается в Nucleus SE, и обеспечивают малозатратный и гибкий способ передачи простых сообщений между задачами.
Читать дальше →

Вся правда об ОСРВ от Колина Уоллса. Статья #5. Взаимодействие между задачами и синхронизация

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


В предыдущих статьях мы рассмотрели многозадачную модель, и выяснили, что каждая задача является квазинезависимой программой. Хотя задачи во встраиваемых системах имеют определенную степень независимости, это не означает, что они не «знают» друг о друге. Некоторые задачи будут действительно изолированы от других, но взаимодействие и синхронизация между ними является распространенным требованием. Этот механизм является одной из ключевых функций ОСРВ. Диапазон функций может варьироваться в зависимости от ОСРВ, поэтому в этой статье мы рассмотрим общедоступные варианты.
Читать дальше →

Обзор одной российской RTOS, часть 4. Полезная теория

Время на прочтение9 мин
Охват и читатели6.7K
Здравствуйте, коллеги! Готова очередная публикация из неформальной «Книги знаний» ОСРВ МАКС.

Просьба к постоянным читателям отнестись ко мне лояльно и не минусить за небольшое повторение части материала из предыдущей статьи (про защиту стека) — здесь оно оказалось логичней. А там я уже удалил.

Общее содержание (опубликованные и пока неопубликованные статьи):

Часть 1. Общие сведения
Часть 2. Ядро ОСРВ МАКС
Часть 3. Структура простейшей программы
Часть 4. Полезная теория (настоящая статья)
Часть 5. Первое приложение
Часть 6. Средства синхронизации потоков
Часть 7. Средства обмена данными между задачами
Часть 8. Работа с прерываниями

Некоторые неочевидные сведения о данных


Несколько фактов о куче


Многие программисты почему-то считают, что операции new и delete достаточно легковесны и просты. Поэтому код часто изобилует выделением и освобождением динамической памяти. Это более-менее приемлемо на мощных системах (гигабайты ОЗУ и гигагерцы тактовой частоты), но при ограниченных ресурсах может создавать некоторые проблемы, особенно для программ, работающих в режиме 24/7.

  • Самая очевидная проблема —
Читать дальше →

О языках

Время на прочтение2 мин
Охват и читатели6.5K
Несколько лет назад поставщик компиляторов Keil (теперь принадлежит ARM) поместил объявление в Embedded Systems Programming magazine (позже известный как Embedded Systems Design, а сейчас embedded.com) о своем новом компиляторе: COBOL для 8051.
Это была шутка, и размещена она была в апрельском номере. Какой смешная и абсурдная идея продукта! COBOL для встраиваемых систем? И COBOL для 8051! Я позвонил президенту компании и поздравил его с отличной шуткой.
А он ответил мне, что они получили запросы на поставку!
А все почему

Опыт аппроксимации экспериментальных данных

Время на прочтение2 мин
Охват и читатели6.9K
На днях встала задача запрограммировать устройство для измерения скорости потока воздуха. В качестве измеряющего элемента — датчик не понятно какого производителя, нет ни характеристик ни каких-либо адекватных параметров. Выбора не было, пришлось снимать градуировочные характеристики и выводить передаточную функцию «отсчеты АЦП-поток».
Читать дальше →
12 ...
129

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