Главная » Архив меток: Программирование микроконтроллеров

Архив меток: Программирование микроконтроллеров

[Из песочницы] EHCI по-людски на русском языке

Введение Всех приветствую. Сегодня хочу поделиться опытом и всё-таки по-моему внятно объяснить про такой, на первый взгляд, простой стандарт для USB 2.0 хост-контроллера. 0 порт — это всего лишь 4 пина, по двум из которых просто передаются данные(Как, к примеру, COM-порт), но самом деле всё не так, и даже совсем наоборот. Изначально можно представить себе что USB 2. EHCI — ...

Читать далее »

DevBoy: делаем генератор сигналов

Привет, друзья! В этой статье я расскажу как сделать простенький генератор сигналов на 4 канала — два аналоговых канала и два PWM канала. В прошлых статьях я рассказывал про свой проект и про его программную часть. Аналоговые каналы Микроконтроллер STM32F415RG имеет в своем составе 12-тибитный DAC (digital-to-analog) преобразователь на два независимых канала, что позволяет генерировать разные сигналы. Можно напрямую загружать ...

Читать далее »

Firecore — нескучная игра на AVR

Хочу поделиться очередным вечерним долгостроем, который показывает, что можно делать игры даже на слабом железе. О том что пришлось делать, как это было решено и как сделать нечто большее, чем очередной клон Pong — добро пожаловать под кат. Осторожно: большая статья, трафик и множественные кодовые вставки! Коротко об игре Shoot`em up! — теперь на AVR. По факту это очередной шмап, ...

Читать далее »

Как защититься от переполнения стека (на Cortex M)?

Если вы программируете на «большом» компьютере, то у вас такой вопрос, скорее всего, вообще не возникает. Стека много, чтобы его переполнить, нужно постараться. В худшем случае вы нажмёте ОК на окошке вроде этого и пойдете разбираться, в чем дело. Но вот если вы программируете микроконтроллеры, то проблема выглядит немного иначе. Для начала нужно заметить, что стек переполняется. Поскольку я программирую ...

Читать далее »

Применение Arm Mbed OS. Тонкая настройка

Далее рассказывается: После того как с помощью Arm Mbed OS удалось помигать светодиодом, настало время протестировать и настроить другие важные сервисы. Технология конфигурирование Mbed Почему сложно перейти на C++ в обычных RTOS Как экономить память в RTOS Как организуются прерывания в Mbed OS Чем удобно отлаживать Mbed OS Как избавиться от лишнего слоя абстракции SDK Продолжаем знакомство с технологией программирования ...

Читать далее »

[Из песочницы] Расширение сетевых возможностей программируемого реле при помощи WI-FI

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

Читать далее »

Blue pill (синяя таблетка) STM32F103 в качестве ПЛК

Наверняка у каждого, кто когда — то начинал или только начинает изучать микроконтроллеры STM32, осталась в запасе вот такая отладочная плата китайского производства, метко прозванная интуристами Blue Pill (синяя таблетка). Ниже на картинке показана классическая плата и назначение выводов. Такая плата построена на основе чипа STM32F103C8T6, который представляет из себя 32 битный процессор на базе ядра Cortex — M3. Внешний ...

Читать далее »

[Из песочницы] Переделка кассовых аппаратов. Часть 1

Несколько лет назад мне в руки случайно попал старый списанный кассовый аппарат. Всем добрый день. Т.к. Назывался он "Элвес микро-Ф". Разобрав его я увидел: я увлекаюсь электроникой и программированием, в том числе и построением различных устройств на микроконтроллерах, аппарат решил исследовать. плату с электронной начинкой и микроконтроллером AT89С52 в панельке дисплей термопринтер аккумулятор пленочная клавиатура два светодиода 1 Внешний вид ...

Читать далее »

Как работает stack trace на ARM

Добрый день! Несколько дней назад столкнулся с небольшой проблемой в нашем проекте — в обработчике прерывания gdb неправильно выводил stack trace для Cortex-M. Поэтому в очередной раз полез выяснять, а какими способами можно получать stack trace для ARM? Какие флаги компиляции влияют на возможность трассировки стека на ARM? Как это реализовано в ядре Linux? По результатам исследований решил написать эту ...

Читать далее »

Разработка робота для сбора мячей для гольфа

Процесс разработки сервисного робота на Orangepi zero и arduino для сбора гольф-мячей. Вся боль инди-разработчика, не обремененного техническим бэкграундом в одном посте…Разработка MVP. Видео тестирования. Что такое гольф? Гольф — это спортивная игра. Основная цель — за меньшее количество ударов закатить мяч в лунку на каждом поле, за меньшее количество ударов пройти все поля. В нашей стране гольф развит крайне ...

Читать далее »