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

Светодиодные ленты используются для создания многоцветных световых эффектов различной сложности: от простейшего эффекта «бегущий огонь» до воспроизведения динамических изображений на мультимедийных экранах. Основная область применения ленты — создание рекламных вывесок, оформление театрализованных шоу, дискотек, ресторанов, витрин, изготовление медиафасадов.

Лента, которую я использую, оснащена яркими RGB-светодиодами SMD 5060 с тремя кристаллами каждый и микросхемами управления UCS512C. Каждый пиксель управляется индивидуально и состоит из шести светодиодов.

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

Это список вопросов на которые должен уметь ответить тот кто программирует микроконтроллеры и заниматься разработкой электроники. Вопросы в частности взяты из технических собеседований при устройстве на работу в разные компании. Постарался отобрать только самые приближенные к практике вопросы, которые можно выделить после 10 лет InSider(ского) опыта. Тут не будет моветонных вопросов из серии "как инвертировать связанный список". Тут всё исключительно только по делу.

По коду

--Зачем static?

--Зачем ключевое слово volatile C

--Всё ли в порядке с кодом?

int square(volatile int *ptr) {
    return *ptr * *ptr;
}Читать полностью »

Вступление

Компания Megawin Technology Co., Ltd. была основана в Тайване в 1999 году. Первые разработки компании были в области создания встроенной flash-памяти и контроллеров ввода-вывода. С 2004 г. было запущено массовое производство 8-битных микроконтроллеров (МК). На российском рынке компания известна прежде всего своими МК серий MG82 и MG84 на ядре 80C51.

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

STM32 Modular USB Composite device - 1

Проект является логическим продолжением другого проекта на Хабре - CDC+MSC USB Composite Device на STM32 HAL и рассказыват как на STM32 создать проект с несколькими USB устройствами, с читаемой структурой и используя типовые модули. Конкретно рассмотрен пример комбинации HID + CDC UART + CDC, а также рассказано как этот проект возможно расширить другими интерфейсами.

Мотивация

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

Как-то я получил от своего отца (мы вместе с ним работаем на одного клиента) сообщение с приложенной фотографией.

Загадочное дело о Raspberry Pi в шкафу для сетевого оборудования - 1

Сообщение от отца

Я попросил его отключить устройство, положить в безопасное место, сфотографировать со всех сторон и сделать образ SD-карты (потому что в основном я работаю удалённо). Я работал над многими проектами с Raspberry Pi и был уверен, что разберусь в назначении этого устройства.

В тот момент ещё никто не думал, что оно может быть зловредным, скорее, все думали, что это экспериментирует кто-то из сотрудников клиента.
Читать полностью »

Запускаем 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>Читать полностью »


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