Программирование | Блог им. Catethysis

Программирование

mikromedia for STM mcu

STM32: управление сервомотором с компьютера

Хороший пример, объединяющий в себе работу с USART, таймерами и прерываниями — это сервомоторчик, управляемый компьютером. Сервомотор имеет три контакта — земля, сигнал и питание. Обычно они окрашены в стандартные цвета, земля — чёрная или коричневая, питание красное, а сигнал — жёлтый. Управление сервомотором очень хорошо ложится на модуль ШИМ, поскольку сервомотор принимает повторяющийся сигнал …

STM32: управление сервомотором с компьютера Читать далее »

STM32 → Порты GPIO

Помигаем светодиодом! Поскольку микроконтроллеры STM32 — настоящие 32-битные ARM-ядра, сделать это будет непросто. Здесь всё сильно отличается от привычных методов в PIC или AVR, где было достаточно одной строкой настроить порт на выход, а второй строкой — вывести в него значение — но тем интереснее и гибче.

STM32 → UART / USART

Классический «Hello world» интерфейс, до сих пор применяющийся для связи МК и датчиков, подключения к компьютеру и просто для отладки. Рассмотрим его использование. Сделаем такую полезную вещь — при поступлении в USART символа ‘1’ включаем светодиод на плате, при поступлении символа ‘2’ — выключаем. Одновременно отсылаем обратно в USART новое состояние светодиода. Используем асинхронный режим работы …

STM32 → UART / USART Читать далее »

План изучения STM32

Микроконтроллеры STM32 — более сложные и высокоуровневые устройства, чем привычные PIC и AVR. Разработка программ под эти контроллеры сложнее, особенно для новичков — настолько, что некоторые боятся даже приступать к их изучению. Гораздо легче будет, если составить некий план изучения, и двигаться в соответствии с ним. Я покажу, что ничего сложного в этом нет, и не …

План изучения STM32 Читать далее »

mikromedia for STM mcu

STM32 — обзор плат Discovery

Компания ST раздаёт дешёвые отладочные платы для знакомства с их микроконтроллерами. Наверняка и вы начнёте с них — поэтому я рассмотрю основные платы Discovery, чтобы вы могли выбрать себе по вкусу.

mikromedia for STM mcu

STM32 → Unique ID

В каждом микроконтроллере STM32 зашит уникальный номер длиной 96 бит. Пользу этого идентификатора недооценивают, хотя он даёт много интересных возможностей.

mikromedia for STM mcu

STM32 → таймеры → ШИМ

В микроконтроллерах STM32 есть несколько таймеров, способных работать в режиме широтно-импульсной модуляции. Такой функциональностью обладают все таймеры, кроме Basic timers (TIM6 и TIM7).

mikromedia for STM mcu

STM32 → CAN

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

STM32 → CAN Читать далее »

javascript

JavaScript tips`n`tricks

Условное выполнение вместо if(success) obj.start(); else obj.stop(); obj[success?’start’:’stop’](); или success?obj.start():obj.stop(); Подстановки в шаблоне text = text.split(‘{‘ + i + ‘}’).join(replacements[i])

api collaboration

API Instagram

Сначала — общие слова об API инстаграма. API построено по принципу RESTful, т.е. ответы на запросы в формате JSON. Есть ограничение на темп запросов — не выше 5 тысяч запросов в час, таким образом один запрос в секунду будет гарантированно допустимым пределом. Каждый ответ состоит из полей meta (общая информация о статусе запроса), data (запрошенные …

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

копирование

Копирование данных GPU CPU

Лимитирующим фактором в любых вычислениях на видеокарте является передача данных из ОЗУ в видеокарту и обратно. Попробуем оценить это время. Скорость передачи ОЗУ ↔ видеопамять Попробуем измерить скорость передачи данных «в» и «из» видеопамяти. Код очень прост — используем только функцию cudaMemcpy. int count = 65536 * 1024 * 4; int size = sizeof(int) * count; …

Копирование данных GPU CPU Читать далее »

Аудио–кроссовер на CUDA (через КИХ–фильтры)

Один из красивых и интересных примеров применения CUDA представлен здесь: реализация очень точного кроссовера (полосового аудио-фильтра) для домашней акустики на маломощной видеокарте. Человек использует фильтр порядка 8192! Такие порядки нечасто встретишь в подобных алгоритмах КИХ-фильтр — классический пример map/reduce алгоритма: проходим по всему массиву предыдущих значений входного параметра, умножая их на коэффициенты фильтра, потом редуцируем …

Аудио–кроссовер на CUDA (через КИХ–фильтры) Читать далее »

Hello world на CUDA

В сети сравнительно мало информации о CUDA, особенный дефицит helloworld`ов. Без теории перейдём сразу к делу (теория потом). Для начала нужно установить Visual studio версии 2008, 2010 или 2012, а так же CUDA SDK. Всё нужное эти парни установят сами, и даже создадут папку с примерами. Поехали, самый первый пример!

Пролистать наверх