Рейтинг
37.92
голосов: 42

О блоге

Работа и описание контроллеров STM8

Администраторы (1)

Модераторы (0)

Модераторов здесь не замечено

Читатели (121)

dcoder _YS_ Krieger Tabke XANDER marvin_yorke Ultrin WildCat Vga mzw kalvenolt dievgen woogle Deer ZiB neiver Leopoldius Ageofenigma bomond Daimeeo

Все читатели блога

8L-Курс, Часть 5 - Таймеры: начало

← Часть 4 — Тактирование Содержание Часть 6 — Таймеры, внешние каналы →

Таймеры — один из самых важных элементов МК. Ни одна более-менее сложная программа не обходится без них. Все, что так или иначе связано с временными интервалами или подсчетом каких-нибудь событий, реализуется на таймерах.

В STM8L есть несколько таймеров разной сложности. Их можно поделить на три группы:
TIM1 — Это самый сложный и функциональный таймер. 16и разрядный счетчик (максимальное значение — 65535), предделитель, принимающий любые значения от 1 до 65536. Три внешних канала с комплементарными выводами для каждого… и прочие плюшки.
TIM2, TIM3, TIM5(последнего в нашем МК нет) — Чуть по-проще. Внешних каналов всего два. Делитель принимает уже не любое значение, а только степени двойки в диапазоне от 1 до 128. Счетчик по-прежнему 16и разрядный.
TIM4 — Самый простой. 8и разрядный счетчик, делитель — (тоже степени двойки) от 1 до 32768. Внешних каналов нету.

Вот сводная табличка из reference manual, которая рассказывает о характеристиках всех таймеров:


Начнем с TIM1. Он конечно сложнее, чем все остальные, но зато после него работа с другими таймерами не будет вызывать непоняток.


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

8L-Курс, Часть 4 - Тактирование

← Часть 3 — Прерывания Содержание Часть 5 — Таймеры, начало →

Раньше мы как-то не задумывались над тем, на какой частоте работает МК и от чего тактируется — работает и славно. Задержки выбирали на глаз, не зная о тактовой частоте. Пора положить этому конец и разобраться с организацией тактирования в STM8.


Читать дальше
  • +13
  • 21 февраля 2013, 17:03
  • dcoder
  • 1

8L-Курс, Часть 3 - Прерывания, EXTI

← Часть 2 — GPIO Содержание Часть 4 — Тактирование →

Мы уже умеем работать с GPIO. Выставлять нужные уровни и читать состояния ножек, настроенных на вход. Но что, если нужно не просто прочитать состояние ножки, а быстро отреагировать на смену уровня? А если таких ножек несколько? Тут нам на помощь приходит система внешних прерываний — EXTI (EXTernal Interrupts). Она довольно гибко настраивается и позволяет получить прерывание с любой ножки МК, что дико удобно — не нужно подстраивать разводку платы под пару специальных ножек INT, как это было в большинстве AVR.


Читать дальше
  • +11
  • 09 февраля 2013, 14:35
  • dcoder
  • 1

Прикручиваем к часам на OSA энергосбережение

После публикации статьи про часы из STM8L-Discovery, под управлением OSA, у некоторых читателей возникли вопросы по поводу потребления энергии. Нелогичными эти вопросы считать нельзя, так как серия STM8L является низкопотребляющей. Про попытки снизить энергопотребление часов и мой вариант сопряжение режима Active halt с ОСРВ под катом.


Читать дальше
  • +4
  • 28 января 2013, 16:25
  • ARMag
  • 1

Часы на STM8L-Discovery и OSA

Данная статья — результат моих попыток поработать с кооперативной RTOS OSA на STM8L.
Так как просто мигать светодиодом под ОСью уж совсем примитив, неоднократно описанный в интернетах, для себя я решил начинать знакомство с OSA на проекте, более-менее приближенном к реальности. Первое, что пришло в голову, так сказать, в лучших традициях DIY — запилить часы. Тем более все необходимое на STM8L-Discovery есть — RTC с часовым кварцем, LCD и даже кнопка! Статья будет полезна тем, кто решит опробовать свои силы в освоении OSA или просто хочет переделать Discovery на часы :)
Подробности под катом...


Читать дальше
  • +5
  • 24 января 2013, 15:39
  • ARMag
  • 1

8L-Курс, Часть 2 - GPIO

← Часть 1 — Hello светодиод! Содержание Часть 3 — Прерывания →
В прошлой части мы запустили мигалку светодиодом. Теперь пришла пора разобраться с тем, как она работает и как устроен модуль GPIO в STM8.



Читать дальше
  • +4
  • 16 декабря 2012, 18:34
  • dcoder
  • 1

8L-Курс, Часть 1 - Hello светодиод!

← Часть 0 — Начало Содержание Часть 2 — GPIO →

Внимание!
Если вы читали статью про STM8L-модуль, а конкретно часть про быстрый старт, то вы увидите здесь кучу знакомого текста и читать вам будет немного скучно. И не говорите потом, что вас не предупреждали.

В прошлой части у нас был обзор и немного теории (надеюсь достаточно для того, чтобы понять что вообще происходит), а в этой будет практика. Мы разберемся с подключением и прошивкой МК, поставим и настроим IAR, напишем в нем простенькую мигалку светодиодом и запустим ее.

Кроме того, в этой части я хочу учинить жестокую расправу над неопределенностями: у нас есть три варианта железа: одинокая STM8L-Discovery с отладчиком, PINBOARD2+STM8L модуль (без отладчика, но с бутлоадером) или discovery + PINBOARD2. Я все устройства и примеры буду собирать на пинборде, но для тех, кто пользуется другой железкой, оставлю для каждого примера схему, чтобы можно было собрать на чем угодно.


Читать дальше
  • +7
  • 11 декабря 2012, 16:56
  • dcoder
  • 1

8L-Курс, Часть 0 (ревизия дваноль) - Начало

Содержание Часть 1 — Hello, светодиод →

True story, bro
Середина октября, понедельник, пол-пятого утра. Сижу, жую печеньки, ни о чем плохом не думаю, переписываюсь с девушкой в этом вашем вконтактике. Неожиданно в аську кто-то стучится и спрашивает про учебный курс по STM8. Я, честно говоря думал, что про сию затею все благополучно забыли за год. Оказалось, что нифига подобного: настоящие анонимусы не прощают и не забывают. Да и модуль STM8L для пинборды уже поступил в продажу: тут статьи были-бы как-раз в тему. В общем, начинаю продолжать писать свой несчастный курс.


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

LQFP80 - DIP переходник для макетной платы на STM8S

Потребовалась макетка для старшего контроллера в STM8S семействе. Захотелось реально пощупать что можно выжать из камня. Решил сделать универсальный переходник на макетную плату с минимальным посадочным местом (пролет между рядами — 0.3") и выводом на пины — всех ног.

LQFP/TQFP/QFP 80 to DIP solderless adaptor board    LQFP to DIP breadboard module



Достоинства данной платы:

  • Предназначено для беcпаечной доски
  • самое минимальное посадочное место )
  • на разъем выведены абсолютно все пины
  • разведено место под кварц и цепь сброса
  • сам кварц съемный на цанге, есть возможность исп. трехногий
  • для удобства коммутации установлен дип
    с замыкающий равнозначные цепи питания периферии
  • питание цифровой и аналоговой части — отдельно,
    в аналоговой стандартная обвязка
  • для устойчивого запуска — правильно разведен полигон земли
  • Разведен стандартный SWD разъем от ST-LINK/V2 (совм с STM8S-Discovery)


и главное — если вам какой-то обвяз не нужен (кварц, фильтры аналоговое питание, дип, етс) — можно не напаивать Запустится будет даже в самом кастрированном варианте — лишь бы С4 от 0.47 до 3мкф и ресет притянут к питанию.



прим: на схеме светодиод выполняет роль индикатора питания, дип переключатель — для экспериментов с питанием контроллера

Внимание: аккуратно пользоваться дип-переключателем, при отключении пинов питания в неправильной последовательности — камень дохнет.


Рабочий комплект:
STM8 LQFP80 adaptor  



Для желающих выкладываю гербер, ЛУТ уже не канает. Размеры платки ~60x55 мм

UPD: сильно не пинать, делал исключительно под себя как 5в отладку с максимумом возможностей, так что без претензий.

PS: для запуска с внешним кварцем на 24МГц — не забудте вставить такт задержки, см. апноут
  • 0
  • 23 ноября 2012, 18:13
  • valio
  • 1

STM8L Новая серия Value Line

Фирма STMicroelectronics выпустила новую серию микроконтроллеров с пониженным энергопотреблением «STM8L05x». Данная серия является продолжением серии STM8L15x, отличающаяся более низкой ценой.


Читать дальше
  • +1
  • 20 сентября 2012, 15:16
  • nobody