Как оформлять модули .c .h

Вступление

Для некоторых программистов, привыкших писать текст программы одним файлом (или включать в Си-файл другие Си-файлы директивой #include), вызывает трудность оформление и подключение независимых модулей, которые были бы изолированны от основной программы и легко переносились бы в другие проекты. Здесь я опишу, как это делается.

Итак, создается пара файлов с одинаковыми именами и с расширениями .c и .h (одинаковые имена — необязательное условие, но его нарушение приведет к путанице), например new_module.c и new_module.h. Формат и содержание их описан ниже.

Читать далее Как оформлять модули .c .h

Управление мощной нагрузкой переменного тока микроконтроллером

Иногда нужно слабым сигналом с микроконтроллера включить мощную нагрузку, например лампу в комнате. Особенно эта проблема актуальна перед разработчиками умного дома. Первое что приходит на ум — реле. Но не спешите, есть способ лучше 🙂 Читать далее Управление мощной нагрузкой переменного тока микроконтроллером

Пример Serial Echo (UART) с использованием event на ChibiOS, STM32

Изменения в halconf.h

#if !defined(HAL_USE_SERIAL) || defined(__DOXYGEN__)
#define HAL_USE_SERIAL              TRUE
#endif
#if !defined(SERIAL_DEFAULT_BITRATE) || defined(__DOXYGEN__)
#define SERIAL_DEFAULT_BITRATE      115200 // set baudrate here
#endif

Изменения в mcuconf.h

#define STM32_SERIAL_USE_USART1             TRUE

Читать далее Пример Serial Echo (UART) с использованием event на ChibiOS, STM32

Использование mbed кода в собственном проекте на STM32 — опыт разгона китайского LCD

Иногда чужой код очень помогает в деле подключения к микроконтроллеру периферийного железа. К сожалению, адаптировать чужой код к своему проекту бывает сложнее, чем переписать его самому, особенно если речь идет о мега фреймворках вроде arduino или mbed. Желая подключить китайский LCD на базе ILI9341 к плате STM32L476G DISCOVERY, автор задался целью воспользоваться в демо-проекте от ST драйвером, написанным для mbed, не изменив ни строчки в его коде. В результате удалось заодно разогнать экран до невиданных скоростей обновления в 27 fps.

STM32L476G DISCOVERY

Читать далее Использование mbed кода в собственном проекте на STM32 — опыт разгона китайского LCD

Измерим гармонию — анализатор звукового спектра на STM32L4 Discovery

В предыдущей публикации мы подключали дешевый китайский LCD экран к плате STM32L4 Discovery. Теперь мы попробуем реализовать на этой комбинации что-то выходящее за рамки традиционного моргания светодиодом, а именно анализатор звукового спектра, который использует имеющийся на плате микрофон. Заодно я расскажу, как пользоваться операционной системой FreeRTOS, и зачем она нужна, а также почему в нотной октаве 12 нот, и чем 53 ноты лучше, чем 12.

Читать далее Измерим гармонию — анализатор звукового спектра на STM32L4 Discovery

Новый преобразователь MPM3515 с интегрированной индуктивностью

Компания Monolithic Power Systems (MPS) представила новый преобразователь MPM3515 с интегрированной индуктивностью. MPM3515 представляет собой модуль синхронного, понижающего преобразователя со встроенным силовым МОП-ключом, индуктивностью и двумя конденсаторами. Таким образом, MPM3630 является компактным решением для питания электронных устройств с напряжением до 36 В и максимальным током до 1,5 А.

Читать далее Новый преобразователь MPM3515 с интегрированной индуктивностью

Ошибка обработки вложенных прерываний в STM8 (не описана в errata)

В семействе STM8 заложена очень полезная возможность экономии энергии в случае, когда быстрые и критичные ко времени обработки выполняются по прерываниям, а низкоприоритетные задачи работают в фоновом режиме. Для этого используется бит AL в регистре GCR и машинная команда WFI. Однако здесь был обнаружен подводный камень, не описанный в текущей версии errata на кристалл.
Читать далее Ошибка обработки вложенных прерываний в STM8 (не описана в errata)

Представлен Pi Zero W

Представлена новая версия одноплатного компьютера Rapberry Pi Zero — Pi Zero W с wi-fi и bluetooth

Антенна является частью печатной платы: Читать далее Представлен Pi Zero W

Cyclone 10 — FPGA под маркой Intel

Когда в 2015 году Intel приобрела одного из крепнейших производителей SoC и FPGA — компанию Altera — этому не удивился никто. И дело не в том, что переговоры о сделке шли долго и волнообразно. Слишком уж очевидны те преимущества, которые получат продукты Intel, и, прежде всего, процессоры, обогащенные технологиями Altera. Результаты сотрудничества не заставили себя ждать — уже анонсирован «гибрид» Intel Xeon + FPGA. И вот следующее событие: новое поколение FPGA, Cyclone 10, уже выходит под брендом Intel.
Читать далее Cyclone 10 — FPGA под маркой Intel

5 практических советов по эксплуатации литий-ионных аккумуляторов

Литий-ионные аккумуляторы не столь «привередливы», как их никель-металл-гидридные собратья, но все равно требуют определенного ухода. Придерживаясь пяти простых правил, можно не только продлить жизненный цикл литий-ионных аккумуляторных батарей, но и повысить время работы мобильных устройств без подзарядки.

Читать далее 5 практических советов по эксплуатации литий-ионных аккумуляторов