Приём-отправка данных между МК и программой на ПК (RS-232)
После того, как вдоволь намигался светодиодом stm32 и посмотрев температуру с LM75, решил погонять данные между компом и демоплатой.
Что именно за данные?
1) Отправка — по тыканью на кнопку в программе зажигаем светодиоды;
2) Прием — в программу сливаем данные с АЦП.
Демоплата — STM32VL-Discovery + CooCox IDE
Для ПК пишу с использованием Qt, который можно выкачать отсюда http://qt.nokia.com/downloads
Disclaimer: я не профессиональный программист, и впервые познакомился с ООП. Да и вообще это моя первая статья. Так что баги/фичи/наставления приветствуются пирожком и конфеткой :)
Читать дальше
Что именно за данные?
1) Отправка — по тыканью на кнопку в программе зажигаем светодиоды;
2) Прием — в программу сливаем данные с АЦП.
Демоплата — STM32VL-Discovery + CooCox IDE
Для ПК пишу с использованием Qt, который можно выкачать отсюда http://qt.nokia.com/downloads
Disclaimer: я не профессиональный программист, и впервые познакомился с ООП. Да и вообще это моя первая статья. Так что баги/фичи/наставления приветствуются пирожком и конфеткой :)
Читать дальше
Форматный вывод на Си для микроконтроллеров.
Форматированный ввод-вывод применяется очень широко, в первую очередь это, конечно, взаимодействие с пользователем, а так-же отладочный вывод, логи, работа с различными текстовыми протоколами и многое другое. В этой статье рассматриваются особенности применения форматированного вывода (ввод оставим на потом) для микроконтроллеров.
Первая программа написанная для ПК традиционно называется «Hello, world» и естественно пишет в стандартный вывод эту знаменитую фразу:
Первая программа для микроконтроллера обычно зовётся «Blinky» и она просто мигает светодиодом. Дело в том, что заставить работать традиционный «Hello, world» на микроконтроллере не так уж и просто для начинающего. Во первых, нет стандартного устройства вывода и его функциональность ещё нужно реализовать. Во вторых, не всегда бывает очевидно как подружить стандартные функции вывода с целевым устройством. Ситуация усугубляется тем, что в каждом компиляторе (тулчейне) это делается каким-то своим способом.
Читать дальше
Первая программа написанная для ПК традиционно называется «Hello, world» и естественно пишет в стандартный вывод эту знаменитую фразу:
#include <stdio.h>
int main(){
printf("%s", "Hello, world");
return 0;
}
Первая программа для микроконтроллера обычно зовётся «Blinky» и она просто мигает светодиодом. Дело в том, что заставить работать традиционный «Hello, world» на микроконтроллере не так уж и просто для начинающего. Во первых, нет стандартного устройства вывода и его функциональность ещё нужно реализовать. Во вторых, не всегда бывает очевидно как подружить стандартные функции вывода с целевым устройством. Ситуация усугубляется тем, что в каждом компиляторе (тулчейне) это делается каким-то своим способом.
Читать дальше
+3,3В ЖК-индикатор из обычного +5В
При подключении ЖК-индикатора к 3,3В схеме может возникнуть проблема — не хватает контрастности, но есть выход. На индикаторах WINSTAR предусмотрены посадочные места под распайку инвертора напряжения. Полученные -3.3В подключаем через делитель на вход контастности.

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

Читать дальше
Микроконтроллеры Kinetis вступление.
Здравствуйте, сегодня хочу рассказать вам про новые мк от Freescale на базе ядра Cortex M4 — семейство Kinetis.
Обзор ядра
Я думаю вы уже знакомы с Cortex M3, поэтому долго рассказывать не имеет смысла.
Ядро M4 это то же M3+dsp инструкции(4 параллельных сложения-вычитания 8бит, 2 параллельных сложения-вычитания 16 бит, 2 параллельных МАС(умножение с накоплением) операции),
а также опционально: блок работы с плавающей точкой.

Читать дальше
Обзор ядра
Я думаю вы уже знакомы с Cortex M3, поэтому долго рассказывать не имеет смысла.
Ядро M4 это то же M3+dsp инструкции(4 параллельных сложения-вычитания 8бит, 2 параллельных сложения-вычитания 16 бит, 2 параллельных МАС(умножение с накоплением) операции),
а также опционально: блок работы с плавающей точкой.

Читать дальше
Простой способ вывести негативный рисунок ПП из любого редактора
Скажу сразу — придумал не я, нашел на просторах интернета, уж и не вспомнить где…

Весь смысл способа — в установке виртуального принтера. Один неприятный момент — к сожалению, приходится использовать проприетарную программу, CorelDraw. Замены ей не нашел, почему — напишу далее. Но преимущества способа, я думаю, перевесят :)
Читать дальше

Весь смысл способа — в установке виртуального принтера. Один неприятный момент — к сожалению, приходится использовать проприетарную программу, CorelDraw. Замены ей не нашел, почему — напишу далее. Но преимущества способа, я думаю, перевесят :)
Читать дальше
Proteus VSM. Пошаговая отладка

Введение
Proteus VSM это пакет сквозного проектирования электрических схем, в котором можно построить принципиальную — электрическую схему, просимулировать ее работу (ProSpice), если она содержит микроконтроллер — тут-же написать программу для него, отладить программу (козырь Протеуса), после всех этапов отладки схемы/программы (при помощи модуля ISIS), можно переходить (не отходя от кассы) к созданию печатной платы, при помощи модуля ARES.
Кстати Proteus, в греческой мифологии, царь обладающий даром предсказания и перевоплощения.
Читать дальше
Препроцессор C
Си препроцессор представляет собой макро язык, который используется для преобразования программы до того как она будет скомпилирована. Причем сама программа может быть не обязательно на Си, она может быть на С++, Objective-C или даже на ассемблере. В общем препроцессор представляет собой примитивный как-бы функциональный язык, с помощью которого можно делать вполне интересные вещи.
Читать дальше
Читать дальше
Радио модуль RFM70

Радиомодули RFM70 фирмы HopeRF представляют из себя маломощные приёмопередатчики нелицензируемого диапазона 2.4 ГГц с неплохими параметрами и очень привлекательной ценой. Конструктивно, модули представляют из себя печатную плату 13х17 мм с микросхемой-«каплей» и печатной антенной.
Модуль работает в диапазоне 2400-2483 МГц, который разбит на 83 канала, при максимальной выходной мощности около 3.2 милливатт (5 dBm). Максимальная скорость передачи данных составляет 2 Мбит/с., что очень даже не плохо — можно передавать несжатый звук в обе стороны, причем с запасом. Практическая дальность связи при прямой видимости составляет около 40-50 метров, в условиях многоквартирного жилого дома — около 15-20 метров — через 4 кирпичных стены.
Читать дальше
Выбор RTOS в домашних условиях для AVR, STM8 и немного STM32 :)

Читать дальше
Типобезопасные флаги на базе enum
При работе с микроконтроллерами на низком уровне очень часто приходится работать с отдельными битами в конфигурационных регистрах, с различными флагами состояний и т.д. Традиционно в языке «С» для этого используются целочисленные переменные и битовые операции с ними. Всё вроде-бы просто и понятно, что еще нужно? Типобезопасность. Целочисленной переменной, используемой для флагов, можно присвоить любое неосмысленное число, и компилятор совершенно не будет против.
Читать дальше
Читать дальше