STM32F4 — analogWrite() — получение PWM/ШИМ сигнала

В прошлой статье была заложен фундамент в виде объявления необходимых define-ов, функции pinMode() и некоторых вспомогательных функций. В этой статье речь пойдет о генерировании PWM сигнала и написании функции analogWritte().

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

STM32F4 — pinMode(), digitalRead() и digitalWrite()

Попробуем решить простую задачу на Arduino. Если кнопка нажата, то зажечь светодиод: если на цифровом пине 4 уровень сигнала соответствует логической единице, то на цифровом пине 5 установить нулевой уровень.

Arduino предоставляет нам готовые функции для чтения и установки уровней сигналов — функции digitalRead() и digitalWrite() соответственно. Читать далее »

STM32F4 — Вводная статья. Библиотека VSTM

Довольно за короткое время пришлось поработать сразу с контроллером Arduino и STM32F4. Сначала я познакомился с Arduino. Под этот контроллер очень легко писать алгоритмы, если и возникают трудности, то в интернете с этим уже кто-то сталкивался и уже есть подробная статья на эту тему. Минусом данного контроллера является его ресурсы, 2Кб оперативной памяти, с учетом того, что мой экранчик кушал 1.24 Кб, выглядят довольно смешно. После освоения Arduino, познакомился с STM32F4Discovery (STM32F407VG). Первое что бросилось в глаза, это кол-во периферии и количество вычислительных ресурсов. Возможности конечно впечатляют, но у меня неделя ушла, чтобы понять как вообще программировать этот контроллер. Получается, что мы имеем огромный потенциал, но не можем его реализовать из-за сложности разработки. Этому контроллеру будет посвящено несколько статей, в которых будет реализован функционал, который в разы упрощает работу.
Читать далее »

SantaFox: Пользовательские функции

CMS SantaFox имеет возможность вызывать функции из шаблона.
Допустим у нас есть php-функция возвращающая значение из GET массива по ключу:

Для того, чтобы вызвать эту функцию необходимо прописать в шаблоне конструкцию следующего вида:

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

Установка MongoDB в Ubuntu и связка с PHP-FPM

Недавно в силу любопытства решил перейти с реляционной БД MySQL на не реляционную (NoSQL) MongoDB. Отличий много, но сейчас не об этом. Установка MongoDВ довольна проста, тем более по ней в интернете довольно много инструкций, готовых решений и прочей информации, но все же. Читать далее »

Установка Qt и QtCreator в Ubuntu 14.04

Если устанавливать из стандартного репозитория Ubuntu — через консоль или из центра приложений, то обычно устанавливается либо английская версия QtCreator, либо не самая новая. По этому, для установки самой свежей версии делаем следующее: Читать далее »

QThread — потоки / Визуализация процесса сортировки

В этой статье рассмотрен процесс создания многопоточных приложений на примере трех алгоритмов сортировки, которые работают в отдельных потоках: heapsort, buble sort и quicksort. Каждый  алгоритм будет визуализирован столбиковой диаграммой. Читать далее »

Пишем программу для работы с GPS-приемником на с++

Задача заключается в написании программы, которая бы взаимодействовала с внешним gps приемником через COM-порт и отмечала точкой на карте нашу текущую позицию (позицию gps-приемника). В статье будут рассмотрены такие моменты, как получение данных с gps-приемника,  определение номенклатуры требуемой карты масштаба 1:100 000,  zoom карты и просмотр карты с помощью Drag and Drop. Читать далее »

Перевод из инфиксной нотации в постфиксную. Обратная польская запись

Инфиксная нотация — операторы записываются между операндами с которыми они взаимодействуют, а в постфиксной нотации (обратная польская запись) операторы записаны после операндов. С теорией, по которой была написана программа, вы можете ознакомиться либо на хабрахабре, либо читайте переделанный вариант далее. Читать далее »

Реализация класса для работы с очередью в С++

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