Рубрика «программирование микроконтроллеров» - 10

Запускаем Julia на Arduino - 1


У меня нет особого опыта работы с микроконтроллерами. Раньше я немного экспериментировал с Arduino, а главной точкой входа моей домашней сети является Raspberry Pi, но на этом мой недавний опыт заканчивается. Я прошёл один курс по микроконтроллерам несколько лет назад, и справлялся с ним ужасно, едва набрав проходной балл. Тем не менее они меня восхищают — это устройства с низким энергопотреблением, которые можно запрограммировать выполнять практически любые операции, если быть аккуратным с управлением ресурсами и не стрелять себе в ногу.

При обсуждении Julia всегда подразумевается обязательное наличие двух аспектов: среды исполнения и сборщика мусора. Чаще всего оптимизация Julia (да и любого другого кода) сводится к двум аспектам:

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

Требование 1 сводится к принципу «не обменивайтесь информацией со средой исполнения и GC, если это необязательно», а требование 2 — к принципу «убедитесь, что не выполняется ненужный код, например, интерпретатор», то есть статически компилируйте свой код и по возможности избегайте динамичности.
Читать полностью »

Принципы домашнего танкостроения - 1

Хотели бы свой дистанционно управляемый танк? В этой статье я расскажу про общие принципы танкостроения из доступных материалов.

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

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

Крошечная библиотека TFT для микроконтроллеров ATtiny - 1

Библиотека TFT на ATtiny85, управляющая цветным дисплеем Adafruit 2.0" 320x240

В статье речь пойдёт о маленькой графической библиотеке, предназначенной специально для микроконтроллеров ATtiny, используемых с различными миниатюрными TFT-дисплеями, которые можно недорого приобрести на сайтах Adafruit, AliExpress или Banggood.Читать полностью »

В этом тексте я напишу о буднях программиста МК в РФ.

Что вообще пишут программисты МК и на чем?

Основной язык программирования это С. Языку С уже более 50лет. Кроме микроконтроллеров С уже практические никому не нужен. Навыки программирования на С очень слабо конвертируются. В свое время, видимо на С написали компилятор для С++ и нужда в С для desktop как таковая отпала. A сам С остался для сборки артефактов для микроконтроллеров с экстремально малыми ресурсами (для automotive ECU, SIM карт). Хотя и сейчас большинство компаний в Евросоюзе уже давно как и микроконтроллерные сборки собирают на С++ 17 и выше. 

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

В этом тексте написал о забытом понятии: блок-схемы для разработки электроники. В ГОСТ(е) их называли Э1 (Схема структурная). Блок-схем это хороший уровень абстракции при анализе электронного устройства или PCB. Представил несколько атрибутов, которые сформировались при создании блок-схем. Привел примеры образцовых блок-схем. 

Как часто говорил университетский лектор: “Инженеры - это про схемы”. Также существует отличная английская пословица: “Картинка стоит тысячи слов”.

Почему важно создавать блок схемы?

1> Чтобы быстро ввести в курс дела новых людей.

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

Как мы выкручиваемся в условиях постоянной нехватки чипов (часть 1) - 1

Проблемами с постоянной нехваткой микросхем сейчас никого не удивить. Началось это всё ещё в конце 2020 года, в начале 2021 стала сильно тяжелее, с введением санкций в 2022 году стал просто кошмар!

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

Пишем свою библиотеку для I2C OLED микродисплея 128х32px - 1


Недавно я обратил свой взгляд на небольшой, но весьма привлекательный OLED микродисплей, который можно вполне успешно применять в своих самоделках, одна беда — известные библиотеки для него поддерживают только латинский шрифт. Ситуация усугубляется тем, что я использую его для подключения к esp32, а не Arduino. Поэтому arduino-библиотеки можно сразу отбросить. Что с этим делать и как дальше жить, об этом мы и поговорим в этой статье.

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

Драйвер для STM32 для реализации протокола адресных светодиодов (WS2812WS2811SK6812, и т.д.), с рациональным использованием буферной памяти и DMA.

Ссылка на библиотеку на GitHub:

Ролик на YouTube:

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

Газета "Коммерсантъ" опубликовала важный материал "Британия морозит «Байкал». Российские процессоры лишаются доступа к технологиям". К сожалению, авторы заметки никогда не видели то, о чем они написали, то бишь semiconductor IP, и не понимают его природы. Зато его видел я. Поэтому я решил написать к их заметке своего рода толкование:

  1. Что именно британские компании ARM и Imagination продают российским лицензиатам, таким как Байкал? (Спойлер: не патенты, хотя патенты в картину входят)

  2. Чем Apple отличается от Байкала в лицензировании semiconductor IP?

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

KeybJr – универсальное подключение клавиатуры к PCjr - 1


В качестве продолжения своей предыдущей статьи об IBM PC и его особенностях я решил реализовать KeybJr – небольшой открытый проект, позволяющий подключать к PCjr клавиатуру через проводное соединение или ИК-порт. Натолкнуло меня на это отсутствие в системе возможности для подключения нормальной клавиатуры за исключением редких и дорогостоящих сторонних решений.Читать полностью »


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