Рубрика «microcontrollers»

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

None

Десятичные пятнашки (вариант от Subaru)

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

Подробнее

Читать полностью »

Начало

Raspberry Pi Foundation всегда знает чем порадовать или удивить нас, а так же как подталкивать других производителей на интересные шаги и решения для хорошей конкуренции.
В четверг (рыбный день, кстати) 21-ого января 2021 года был анонсирован выпуск нового микроконтроллера RP2040 и небольшой платы с его применением, которая получила название Raspberry Pi Pico.

Raspberry Pi Pico на МК RP2040: начало и первые шаги. Что есть поесть за $4 - 1

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

После пары дней занимательной возни я решил поделиться своим небольшим опытом с Хабром и его гостями.

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

Светодиод, таймер и прерывания на RISC-V с нуля (на примере GD32VF103 и IAR C++) - 1

Сегодня речь пойдет о модном — о RISС-V микроконтроллере. Я давно хотел познакомиться с этим ядром и ждал когда появится что-то похожее на STM32 и вот дождался, встречайте — китайский GigaDevice — GD32V.

Инфраструктура для этого микроконтроллера не такая обширная как для STM32, но есть все необходимое для того, чтобы начать с ним работать. Благо отладочные платы можно заказать на аликекспресс, например, вот тут: Longan Nano GD32VF103CBT6 RISC-V MCU

Китайцы продвигают для этого микроконтроллера среду разработку Platform IO, которую можно поставить как расширение под Visual Studio Code. Но мы не будем её использовать, это ведь не по инженерным понятиям, мы же инженеры и хотим разобраться во всем сами. Поэтому давайте попробуем запустить плату на IAR, написав все с нуля.

Кстати, IAR раздает отладочный комплект (отладочная плата + отладчик I-Jet + 30 Дней полная лицензия) IAR RISC-V GD32V Evaluation kit. Вот тут можно оставить заявку Request for Development Tools. Не уверен, что они посылают комплект всем желающим, но я получил в течение 5 дней. Спасибо им за это.

Ну что же, кто заинтересовался, добро пожаловать под кат

Читать полностью »


Технология ESP-NOW — это упрощенный протокол связи WiFi с передачей коротких пакетов между парами сопряженных устройств, разработанный и выпущенный Espressif в 2016.07 для микроконтроллеров ESP8266 и ESP32. При этом дополнительные процедуры, связанные с поддержкой протокола WiFi не используются, что ускоряет процесс обмена пакетами.

ESP-NOW может применяться в Интернете Вещей для управления интеллектуальными источниками света, реле, розетками, другими устройствами дистанционного управления, получения информации от датчиков и других приложений.

ESP-NOW поддерживает следующие функции

  • Зашифрованная и незашифрованная связь между сопряженными парами устройств.
  • Смешанные зашифрованная и незашифрованная связь между сопряженными устройствами.
  • Передача до 250 байт полезной информации.
  • Настройка функции обратного вызова для информирования прикладного уровня, в частности, об успешности или сбое передачи.

Читать полностью »

Со времени публикации первой статьи об сконструированном мной девайсе ESPboy на микроконтроллере ESP8266 прошло довольно много времени.

Часть 2: Mодули и AppStore. ESPboy — гаджет для ретро игр и экспериментов с IoT - 1

Однако за это время удалось кое что сделать:

  1. Довести сам девайс до стадии производства
  2. Собрать модули расширения, написать под них софт и отладить
  3. Сделать онлайн каталог приложений с быстрой загрузкой их по WiFi по аналогии с Apple iStore и Google play market
  4. Портировать библиотеку для раработки игр с Arduboy и скомпилировать несколько десятков Arduboy игр под ESPboy
  5. Разработать порядком новых ретро игрушек на Little Game Engine

Читать полностью »

Введение

Модель дисплея называется H016IT01. Данный дисплей интересен прежде всего тем, что он является транфлективным(transflective). Это означает, что изображение на нем должно быть видно даже под ярким солнцем. А также это чуть ли не единственная доступная модель с этой особенностью на известном китайском сайте.

Статья же увидела свет потому, что информации по контроллеру SSD1283A очень мало(как в русском, так и западном сегменте сети), и руководства я нигде не встречал. В сети можно найти даташит, однако там нет информации по инициализации и работе с дисплеем, а из полезного только описания регистров.

Хочу подчеркнуть, что данный материал конечно же не является истиной последней инстанции. Я привожу лишь свой опыт взаимодействия с устройством. Основная цель статьи проста — помочь всем тем, кто решил, хочет или захочет поработать с данным дисплеем, не более.

image
Читать полностью »

Каждый, кто программирует микроконтроллеры, наверняка знает о FreeRTOS, или по крайней мере слышал об этой операционной системе. Ребята из Amazon решили расширить возможности этой операционной системы для работы с сервисами AWS Internet of Things – так появилась Amazon FreeRTOS. Нас, разработчиков анализатора кода PVS-Studio, в почте и в комментариях под статьями попросили проверить эти проекты. Что ж, вы просили – мы сделали. Что из этого получилось – читайте далее.

Рисунок 3

Читать полностью »

image
Рис. взят с сайта www.extremetech.com/wp-content/uploads/2016/07/MegaProcessor-Feature.jpg

Всем доброго здравия!

В прошлой статье я рассмотрел вопрос о проблеме доступа к регистрам микроконтроллера с ядром CortexM на языке С++ и показал простые варианты решения части проблем.

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

Всех кого заинтересовал, добро пожаловать под кат. Кода будет много.
Читать полностью »

ESP-32 CAM модуль с камерой от Diymore

ESP32-CAM Video Streaming Server Подключение I2C и SPI дисплеев - 1

ESP32-CAM Video Streaming Server

Пример использования находится тут.

Предварительно надо установить библиотеки: Esp32 board in Arduino Ide Windows / Esp32 board in Arduino Ide Linux and Mac

Подробные настройки есть в статье.

В моем случае я использовал модуль AI-THINKER поэтому раскомментировал
#define CAMERA_MODEL_AI_THINKER

У меня не заработала функиональность распознования лиц. Коментарий в статье был полезен.
Читать полностью »

Привет!

Лето за окном пролетает для нас почти незаметно, потому что все эти месяцы мы посвятили работе над новым релизом 2019.2 нашей кросс-платформенной среды для разработки на C++ — CLion. Мы успели довольно много всего: и провести внутренний Хакатон, и попробовать новые идеи, и довести ряд исправлений и новых возможностей до непосредственного релиза. Но обо всем по порядку.

CLion 2019.2 released

Если коротко, то в этом релизе мы:

  • Продолжили дорабатывать поддержку разработки встроенных систем: появились новые возможности отладки и просмотр периферии.
  • Довели до приемлемого качества пока что экспериментальный отладчик для MSVC.
  • Полностью переписали на clangd проверку кода на Unused Includes, добавив возможность настраивать разные стратегии.
  • Реализовали подсказки для аргументов вызова функций и лямбд, чтобы улучшить читаемость кода.
  • Провели внутрикомандный Хакатон по улучшению производительности, придумали кучу новых подходов и успели воплотить в жизнь несколько улучшений.
  • Реализовали подсветку синтаксиса более чем для 20 языков, встроили плагин для написания скриптов (Shell Script plugin), обновили плагин для Rust.

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js