Все потоки
Поиск
Написать публикацию
Обновить
167.16

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

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

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

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

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

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

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

Читать далее

Зачем нужен отчёт MISRA Compliance и как его получить в PVS-Studio?

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

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

Читать далее

Тестирование устройств с помощью Robot Framework

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

Про тестирование embedded-устройств с помощью Robot Framework

Читать далее

Arduino + max30102 + ЦОС = SpO2

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

Однажды увидев на али оксиметр, стало интересно как же он устроен, а разобравшись, удивился его простоте и решил его повторить.

Читать далее

Сервер Modbus TCP для Simatic S7-1200 / S7-1500

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

Первая спецификация протокола Modbus была опубликова в 1979 году. Протокол предназначен для опроса подчиненных устройств по принципу «запрос-ответ». Modbus RTU (Remote Terminal Unit) работает по последовательному интерфейсу передачи данных (RS-232, RS-485, RS-422). Сегодня речь пойдет о немного измененном протоколе, Modbus TCP, работающий на прикладном уровне стека протоколов TCP/IP.

Для начала посмотрим, как настраивается (программируется, если быть точнее) серверная часть. Modbus TCP Server — аналог Modbus RTU Slave, то есть, является подчиненным устройством. Это важно, не путайте. Сервер лишь отвечает на запросы, но не генерирует их.

В данном примере применяется CPU S7-1516 с версией прошивки 2.6. Серия S7-1200 программируется аналогично.

Читать далее

Эффективное применение DLMS/COSEM в больших системах с ограниченными ресурсами

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

Győző Kmethy – исполнительный директор и президент ассоциации DLMS – и Milan Kozole – председатель технического комитета ассоциации DLMS – в своей статье «Efficiency of DLMS/COSEM for large systems with constrained resources» рассказывают о способах и средствах эффективного использования стека DLMS/COSEM, позволяющие до 10 раз сократить объем передаваемых данных и уменьшить количество информационных обменов между клиентом и сервером.

Читать перевод

Управление Arduino через интернет с помощью ПК — опыт новичка

Время на прочтение4 мин
Количество просмотров30K
Всем привет. В этой статье расскажу о том, как мне удалось реализовать управление Arduino через интернет с помощью подключенного к интернету ПК. В общем случае данный способ можно использовать для любого микроконтроллера, например PIC. Способ довольно дубовый, есть куда модернизироваться и есть много более продвинутых схем, но в простейшем случае этого хватит.

Вся правда об ОСРВ. Статья #20. Семафоры: вспомогательные службы и структуры данных

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


В этой статье продолжается обзор семафоров.

Вспомогательные службы семафоров


Nucleus RTOS имеет четыре вызова API, предоставляющие функционал, связанный с семафорами: сброс семафора, получение информации о семафоре, получение количества семафоров в приложении и получение указателей на все семафоры в приложении. Первые три из них реализованы в Nucleus SE.
Читать дальше →

Вся правда об ОСРВ. Статья #8. Nucleus SE: внутреннее устройство и развертывание

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


В этой статье продолжается обзор Nucleus SE

Службы


Nucleus SE предоставляет набор средств, которые можно ожидать от любой ОСРВ.
Во-первых, Nucleus SE содержит довольно простой планировщик, однако, благодаря четырем доступным вариантам, он обеспечивает гибкость. Планировщик поддерживает алгоритмы Run to Completion (выполнение до завершения), Round Robin (карусель), Time Slice (квант времени) и Priority (приоритетное планирование).
Читать дальше →

Начинающим на Arduino: Упаковываем конечный автомат в отдельный класс и библиотеку

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

В прошлой статье про написание конечных автоматов я обещал упаковать наш гениальный код в виде класса на C++ для повторного удобного использования. Делать буду так же на примере своей старой разработки SmartButton. Итак, влезаем в непонятный мир ардуининых библиотек и ООП.


Папки с библиотеками

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

Автоматное программирование. Часть 2. Диаграмма состояний и переходов

Время на прочтение12 мин
Количество просмотров16K
В первой статье я дал пример автоматного программирования от общего к частному, а точнее конструктивную декомпозицию. Следующий этап проектирования, проработка получившихся модулей. Но сначала я покажу чем являются автоматы с математической и практической точки зрения. В основе автоматов лежит модель описывающая процесс протекающий во времени, называемая диаграмма состояний, и невозможно себе представить автоматное программирование без этой сущности. Почему это так рассматривается в сегодняшней статье.
Читать дальше →

Умный замок на Android Things и Raspberry Pi3

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

В декабре 2016 года Google анонсировал выход первой Developer Preview версии Android Things. С тех пор проект сильно изменился. Все еще доступна только preview-версия, но с каждым шагом у платформы появляются новые возможности и растет число поддерживаемых устройств.


С каждым днем появляются новые примеры использования IoT устройств в реальном мире, а сама платформа становится все более привлекательной. Мы в Live Typing решили тоже погрузиться в интереснейший мир Интернет Вещей и рассказать о своем опыте. Эта статья для тех, кто слышал об Android Things, но боялся попробовать. А также о том, как мы реализовали свой «умный замок» и пользуемся им в собственном офисе.


img

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

Многоядерный DSP TMS320C6678. Обзор архитектуры процессора

Время на прочтение4 мин
Количество просмотров13K
Данная статья открывает серию публикаций, посвященных многоядерным цифровым сигнальным процессорам TMS320C6678. В статье дается общее представление об архитектуре процессора. Статья отражает лекционно-практический материал, предлагаемый слушателям в рамках курсов повышения квалификации по программе «Многоядерные процессоры цифровой обработки сигналов C66x фирмы Texas Instruments», проводимых в Рязанском государственном радиотехническом университете.
Читать дальше →

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

Немецко-китайский прибор и немного математики (часть 2)

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

Настал вечер и Шехрезада продолжила позволенные речи


Продолжим рассуждения на тему, как бы мы делали прибор MG328. На очереди у нас измерение конденсаторов, которое должно быть сложнее, чем измерение резисторов, но неожиданно оказывается чуть ли не проще. Но прежде, чем перейти к рассмотрению собственно конденсаторов, немного слов об измерениях в МК системах как таковых.

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

Анализ модуля G-NiceRF RF4463PRO: производительность, сертификация, интеграция

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

RF4463PRO, выпущенный компанией NiceRF Wireless Technology Co., Ltd., представляет собой высокопроизводительный беспроводной приемопередающий модуль субгигагерцового диапазона. Эта серия модулей доступна в различных версиях с рабочими частотными диапазонами, включая 150/315/433/470/868/915 МГц, для удовлетворения потребностей различных регионов и приложений.

Читать далее

Как избежать кошмара параллелизма в IoT: автоматы вместо потоков и корутин

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

В статье рассматривается библиотека на C++, которая предназначена для реализации технологии параллельного автоматного программирования (АП), отвечающей концепции среды ВКПа (подробнее о ней см. [1]). Для полного понимания материала рекомендуется ознакомиться с основами теории АП, представленной в статьях [2, 3, 4], Взаимосвязь машины Тьюринга с конечными автоматами (КА) подробно рассмотрена в [5]. Вопросы применения корутин в контексте автоматного программирования анализируются в статьях [6–9]. Но в минимальном варианте достаточно даже общего представления о модели конечного автомата и принципах объектного программирования.

Читать далее

Прием и парсинг NMEA-данных от GPS-приемника

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

Прием и парсинг NMEA-данных от GPS-приемника, а также, рассмотрение работы разных типов GPS (UART и RS-232): как правильно подключить модуль к микроконтроллеру STM32.

Читать далее

Надежное программирование — часть 3. Финал (2019)

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

Немного рассуждений о языках программирования (ЯП) с уклоном на надежное и безопасное программирование.

Статья не публиковалась ранее, хотя была написана в 2019г, теперь можно смотреть как некую ретроспективу. Чем и воспользуюсь, вставляя замечания о былом по тексту (тег Upd).

Но тормозит развитие серии, ибо вышли уже 3 части и несколько переводов в тему: 

Читать далее

Утилита R

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

В программировании часто приходится писать программные компоненты, которые, в общем очень похожи друг на друга по своей структуре и API.

В заметке я представил простую утилиту r.exe для авто-замены токенов в файлах и названиях файлов.

Читать далее

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

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

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

Читать далее

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