Препарирование сенсорного выключателя LIVOLO.

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


Читать дальше
  • +13
  • 01 марта 2014, 00:14
  • mChel
  • 1

UART (USART) на STM32L (STM32)

Введение
На момент написания данной статьи в сети существовало множество примеров по работе с UART’ом на микроконтроллерах серии STM32. В основном данные примеры сводятся к приему/передачи одного байта без использования прерываний. Основной акцент в статьях делается на инициализации портов ввода/вывода и UART’а, с небольшими примерами. В некоторых статьях описывается работа прерываний, но не создаются полноценные функции приема/передачи.

Однако все эти примеры достаточно разрознены и мне не удалось найти одного исчерпывающего примера по работе с UART'ом. Поэтом, в данной статье ставиться целю объединение воедино накопившегося опыта и создание полноценных функций для работы с UART с использованием прерываний, для чего детально разбирается устройство интерфейса применительно к микроконтроллерам STM32L.



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

Практический курс STM32. Урок 1 - GPIO. Порты ввода-вывода

В предыдущем уроке мы поговорили о необходимой нам документации и установили IDE. Сейчас самое время познакомится с GPIO.

В этом уроке мы:
  • Узнаем о возможностях GPIO серии STM32F4
  • Пройдемся по Справочному руководству (Reference Manual, далее просто СР) попутно его комментируя
  • Освоим 80% его функционала, не вдаваясь в работу с альтернативными функциями(об этом ниже). Поверьте, этого будет вполне достаточно для начала. А поскольку альтернативные функции касаются отдельных блоков STM(USB, таймеры, USART), о них мы поговорим уже по ходу освоения конкретных блоки в следующих(надеюсь) уроках
  • К концу урока, как это положено по традиции, помигаем миру светодиодами наших F4-Discovery. Напишем код и подробно разберем каждую его строку(кроме одной, относящейся к следующему уроку).


Всех, кому интересно приглашаю под кат.

ATOMIC-макросы для ARM

Поклонникам контроллеров AVR и компилятора WinAVR хорошо знаком макрос
ATOMIC_BLOCK(SOMETHING),
с помощью которого обычно реализуется атомарный доступ. При переходе на контроллеры ARM возникает вопрос: а где мой любимый ATOMIC_BLOCK? А нету. Восполним этот пробел.


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

CRC32: на STM32 как на компе или на компе как на STM32.

Все знают, что в STM32F1xx, STM32F2xx, STM32F4xx есть аппаратный блок CRC32 с полиномом 0x04C11DB7.
И он, в общем-то, работает. Но только контрольная сумма почему-то не совпадает с таковой, рассчитанной софтварно.
В гугле обычно 2 типа вопросов:
  1. Как хардварно посчитать на STM32 побайтовую CRC
  2. Как посчитать софтово CRC так, чтоб она совпала с хардовой на STM32
Причём, на первый вопрос ответ везде отрицательный. Так ли это? Попробуем разобраться.


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

Создаём ST-Link V2

      Как-то так исторически сложилось, что, хоть и «подружился» с микроконтроллерами от ST Microelectronics я уже давненько, но полноценного отладчика до сих пор у меня не было. «Подсадил» на STM8 меня друг, подарив на день рождения платку STM8S-Discovery. Вдоволь наигравшись с целевым камушком, я отключил отладочную часть платки, а встроенный ST-Link стал «рабочей лошадкой» в моей лаборатории. Таковым и оставался бы до сих пор, и всё было хорошо, да вот где-то с полгода назад случилась ситуация, которая сподвигнула меня на изыскания по размножению отладчика: мне пришлось подключить обратно отладочную часть дискавери, так как проэкт, над которым предполагалось работать, использовал тот же проц, что и в дискавери, и обросла платка некислым таким «ежиком» из проводов и деталюшек, закипела работа… А тут заказчик звонит-мол, приедь ко мне да подправь, плиз, прошивочку в своём устройстве-да там фигня, задержку на секунду увеличить и всего-то делов… А «рабочая лошадь» чуть ли не намертво к рабочему столу привязана проводами да кабелюками, блин! Пришлось разбирать, конечно… Вернувшись от заказчика и грустно поглядев на то, что ещё утром было полем для бурной деятельности по проверке идей-полез искать вдохновения в гугле. Кому интересно, что из этого получилось-добро пожаловать под отрезь… :)


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

Система "Харакири" или как попусту не тратить аккумулятор.

Отмазки
Пост скорее для начинающих, может кому и пригодится. Штучка полезна для портативных решений, которым ес-но нужно чем то питаться, и очень для них не хочется менять батарейки. Ну к сути.

Суть

При создании мобильных изделий мы тут же начинаем решать, кто будет кормить наш девайс: батарейки или аккумулятор. Батарейки — вроде просто, но их менять надо, а иногда жёсткий «впадлу» настигает, и за ними не побежишь.

Толи дело аккумулятор, а если ещё и литиевый! Он даёт нам целых 3,7в в среднем (рабочий диапазон напряжений 2,8в-4,2в, где соответственно полный разряд и полный заряд). Но есть другая проблема, боится он гад перезаряда, и переразряда (вообще пугливый какой то). И если проблема с зарядкой отметается микросхемой MAX1555 или подобными, которые тебе и от USB зарядят, и от блока питания, корми как хочешь, и просигналят, как зарядилось всё.
То с разрядкой всё сложнее, ибо разряд ниже 2,8в грозит существенно снизить срок жизни литиевого аккумулятора. Некоторые скажут: «пффф, у литиевых аккумуляторов есть драйвер, который сам когда надо вырубит». Есть то он есть, да не у всех, да к тому же, посмотрев цены и форм факторы на аккумуляторы с драйвером и без, понял что аккумуляторы без драйвера существенное дешевле в соотношении ёмкость-цена (во всяком случае в магазинах, где я их покупаю).


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

Список пригодных дисплеев от сотовых телефонов

Уважаемые дамы и господа!
Столкнулся с проблемой поиска ЖКИ для своих поделок.
Информация конечно есть, в основном это LS020 и от nokia 3310.
Вопрос упирается в нахождение их в магазинах.
Эти и многие другие модели уже не производятся и как правило если есть в прайсах, то отсутствуют на складе.
Кому не сложно, пишите в комментариях доступные к нашему использованию дисплеи.
(Под такие попадают с известной распиновкой, даташитом на контроллер, простым последовательным интерфейсом (исключающим использование внешнего озу и группы линий).
Заранее всем откликнувшимся Большое Спасибо!

UPD.
Кому что не нравится, можете пройти мимо =)

Ну раз такое дело, начну создавать список (под катом).


Читать дальше
  • +3
  • 18 мая 2012, 20:04
  • qic

STM32L– Система тактирования (обзор)

Сегодня по плану обзор системы тактирования (модуль Reset and clock control (RCC)).

Читать дальше
  • +4
  • 09 декабря 2011, 11:16
  • ZiB

Руководство к быстрому старту по работе с периферией STM32F10x

Данная статья Logoпредназначена для тех, кто начинает изучать ARM-контроллеры ST Microelectronics серии STM32F10x и уже определился со средой разработки, но еще не взялся за собственно программирование. Я покажу, как средствами библиотеки STM32 Peripheral Library можно легко управлять периферией контроллера без прямого обращения к регистрам, а главное — научу, как искать информацию по работе с этой периферией.

Практически вся (если не вообще вся) периферия настраивается примерно одинаково, различия имеются только в специфических для каждого устройства параметрах и командах. Приведу пример:

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);

GPIO_InitTypeDef GPIO_InitStructure;

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_All;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_Init( GPIOC , &GPIO_InitStructure);

Это пример настройки порта ввода-вывода (GPIO). Рассмотрим его поподробнее.


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