"Вручную" заводим LCD controller stm8l на примере Discovery.


В статье попытаемся “приручить” LCD контроллер МК STM8L152C6T6, который установлен в STM8L-Discovery. Разберёмся с его инициализацией и всеми последующими манипуляциями, необходимыми для оживления дефолтного дисплея. По ходу всего этого дела запилим собственную простую библиотеку с поддержкой кириллицы.


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

Обсуждение прототипа STM8L шилда для PINBOARD II

Хочу вбросить на суд сообщества прототип процессорного модуля для PINBOARD II с конроллером STM8L152K6T6 на борту. Сделан он был довольно давно, и планируется запуск этого модуля в производство (силами ДиХальта естественно :)).

Но так как изначально я делал модуль под себя, руководствуясь желанием левой пятки, некоторые моменты могут вам не понравится. Посему прошу указать на криво сделаные места или недочеты (только перед этим прочитайте текст, чтоб не повторять то что я и так знаю :))



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

Обсуждение учебного курса по STM8L

Полный состав практического учебного курса по STM8L:

1) Hello светодиод!
Установка IAR. Создание проекта. Мигание светодиодом.

2) GPIO
Подробный разбор GPIO. В качестве примера управление 7seg индикатором. Работа с кнопками.

3) GPIO, часть 2
Матричная клавиатура. Прерывания — пробуждение МК из halt по нажатию кнопки. Эмуляция 1-wire. Кодовый замок c iButton. Здесь-же затронута работа с EEPROM.

4) Таймеры: начало
Общие сведения о таймерах в STM8L. Создание собственной функции задержки с блекджеком и WFE. Прерывания таймера. Динамическая индикация (7seg) на таймере. Секундомер.

5) Таймеры: продолжение
Работа с навороченым таймером 1. Генераця ШИМ сигналов (делаем moodlamp). Режим подсчета количества импульсов (частотомер).

6) Сенсорные кнопки
Обзор библиотеки от ST для создания сенсорных кнопочек. Делаем светодиодный светильничек с сенсорным управлением.

7) АЦП
Быстрый старт с АЦП. Использование таймера в качестве триггера для АЦП. Вывод напряжения на дисплей. Вольтметер и амперметер.

8) Интерфейсы: USART
Обмен данными с компом (передача данных из АЦП в комп — осциллограф же!).
Работа USART в синхронном режиме, подключение дисплейчика от Nokia.

9) ЦАП
Общее описание DAC. Ликбез по DMA. Работа совместно с DMA и таймером качестве триггера. Простенький генератор сигналов управляемый по UART.

10) Интерфейсы: I2C
Работа с i2c в режиме мастера. Термометр/термостат на lm75a. Тут-же работа со сторожевым таймером. Обзор slave режима.

11) Интерфейсы: SPI
Работа с акселерометром MMA7455LT. Передача данных с акселерометра через UART. Обзор slave режима в SPI.

12) RTC
Обзор возможностей RTC. Делаем простенькие по функциональности, но неординарные по виду, часы.
13) Контроллер LCD.
Сверхэкономичный измеритель температуры и влажности на sht21 + часы. Тут-же ликбез по энергосбережению и работа с PVD.

— В курсе будет делаться большой упор на практику. Почти в каждом уроке будет создаваться некое подобие законченого устройства. Теории будет немного, точнее — ровно столько сколько нужно. За дополнительными сведениями буду посылать в более обширные статьи и в RM0031. Кстати, семейство STM8L101 я обсуждать не хочу. Ибо оно уныло.

— Насчет частоты появления статей в курсе.
f = 0,000001653439 Гц Примерно 1 штука в неделю
Выпалить половину курса за неделю, как angel5a я не могу :)

А не запилить-ли учебный курс по stm8l для детей и домохозяек?

Проголосовало: 150 | Воздержалось: 14

Собственно сабж. Появилась идея запилить систематизированный учебный курс по STM8L. Те статьи с подробным описанием различной периферии, которые я сейчас пишу, не систематизированы, да и вообще по мнению некоторых излишне подробны. Поэтому я решил написать что-то наподобие недавнего курса по LPC. Как думаете, нужно?

Low power run (еще один режим энергосбережения)

Есть еще один режим энергосбережения, который я не описал в своей статье про способы экономии энергии в STM8L. Его нельзя назвать «спящим режимом», потому что ядро продолжает работать, пусть и на низкой частоте. Но путем отключения самых «прожорливых» частей МК в этом режиме можно добиться потребления около 4-5мкА. Называется он — Low Power Run Mode, для простоты буду называть его LPR.




Читать дальше
  • +4
  • 15 октября 2011, 19:03
  • dcoder
  • 2

Работа с EEPROM и Flash

Все МК STM8 снабжены некоторым количеством EEPROMa. Оно варьируется от жалких 128 байт в младших моделях STM8S, до 2кб в старших моделях STM8L и S. Благодаря единому адресному простанству работа с EEPROM почти ничем не отличается от работы с RAM.

Не только EERPOM, но и flash записывается легко и просто. Поэтому, хоть заметка и посвящена работе с EEPROM, тут будут некоторые комментарии касательно флеша.



Читать дальше
  • +3
  • 10 октября 2011, 03:01
  • dcoder

PVD - реагируем на изменение напряжения питания (STM8L)

В микроконтроллерах STM8L есть функция, позволяющая определять изменение питающего напряжения и оперативно реагировать на него. Имя ей PVD — Programmable Voltage Detector.



Читать дальше
  • +2
  • 25 сентября 2011, 16:10
  • dcoder
  • 1

АЦП в STM8L и все, что с ним связано

Контроллеры STM8L15х имеют на борту 12-и разрядный АЦП, который может работать в нескольких режимах, и поддерживает работу с контроллером DMA, что позволяет оцифровать и сложить в память кучу данных без участия ядра.

Здесь я попытался собрать как можно больше информации об АЦП в STM8, чтобы не пришлось бегать по другим статьям в поисках кода для настройки таймера, или, например, DMA. Вот, что описано в статье:
— Настройка АЦП
— Выполнение преобразований в разных режимах
— Настройка внешнего триггера для запуска преобразования
— Настройка таймера для работы совместно с АЦП
— Использование встроенного датчика температуры
— Настройка контроллера DMA для работы вместе с АЦП
— Использование Analog Watchdog

Семейство STM8S не рассматриваем — там все сильно по-другому. А в STM8L101 АЦП вообще нет.


Читать дальше
  • +8
  • 07 сентября 2011, 23:32
  • dcoder
  • 3

Прицепляем батарейки к STM8L-Discovery (часть 2)

Помните, как я прицеплял батарейки к STM8L-Discovery?
Уже тогда я хотел поставить в этот модуль преобразователь на 3.3 Вольта, но микросхем для него у меня в тот момент не было. А еще bomond подсказал интересный вариант конструкции. В общем, сделал вторую версию батарейного модуля:



В чем отличия от первой:
— Собирать поделие стало удобнее: все монтируется на плате, не надо пилить и клеить пластик
— Преобразователь на 3.3В (на NCP1400) с возможностью отключения и подачи питания напрямую с батарей
— Сбоку выведены дополнительные пины питания (3.3) и земли, которых так не хватало на плате Discovery

Далее, как обычно ворклог с фотками


Читать дальше
  • +5
  • 29 августа 2011, 15:25
  • dcoder
  • 1