Конфигурация таймеров - расчет

Конфигурируя таймер, в большинстве случаев нужно посчитать предделитель и значение регистра ARR. Считается это не сложно, но тем не менее 5-10 драгоценных минут надо потратить. Кроме того, так как оба эти значения зависят от частоты, поменял частоту – пересчитывай опять.
Да и выглядит инициализация с такими магическими числами не сильно наглядно.

Вобщем мне это надоело и я написал пару макросов, которые атоматом считают значения прескейлера и ARR для 8-ми битных таймеров у которых предделитель может принимать значения, равные степеням 2-ки:


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

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

Компилятор Cosmic цены

Узнал, что ввели ограничение по размеру кода на бесплатную версию до 8 КБ и убрали регистрацию (ранее было 32 КБ).

Читать дальше
  • +1
  • 27 сентября 2012, 17:42
  • ZiB

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

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


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

Шаг назад. Делаем дисплей для LCD4Linux топик-ссылка

ChipTerm потихоньку пишется, но попутно проверяются возникающие идеи. Так в один из вечеров была предпринята попытка использования аппаратной платформы в качестве дисплея для LCD4Linux. При этом стояла цель использовать не терминальный режим, а некий «специализированный» (так как в терминальном режиме порой возникает неприятное мигание из-за прокрутки дисплея). Опытным разработчикам заметка будет не интересна. Новичкам может пригодится как отправная точка для своего проекта.

STM8: Скорость выполнения кода из RAM

Я расскажу вам историю, которая началась много тактов назад, где-то в секции NearFuncCode…

0x81C0
Тактовый генератор жужжит на мегагерцовой частоте. Счетчик команд летит по коду. Конвеер работает на все 100%, проталкивая через себя команды:
Такт! Четыре байта улетают по шине в АЛУ. Такт! Команда декодируется, а в это время уже читается следующая. Третий такт! Команда выполняется, вторая декодируется, а из памяти достается третья.

Но вот попадается команда CALL. Конвеер сбрасывается, в стек заносится адрес возврата, механизм готовится к прыжку, как кот перед столом с едой. Прыжок!


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

Бага: встроенный бутлоадер в STM8 не возвращает исходный предделитель

В даташитах на STM8 английским по белому сказано, что при старте частота ядра составляет 2МГц. То есть 16Mhz HSI (внутренний генератор) с делителем на 8.

Почти во всех STM8 есть бутлоадер, прошитый на заводе (точнее слово «прошитый» не очень подходит, так-как записан он в отдельной области памяти, которую ни стереть, ни записать нельзя). Этот бутлоадер можно включить через Option Bytes. Изначально он выключен, если в памяти уже есть программа.

Так вот, бут использует частоту 16МГц, отключая предделитель. А по завершению своей работы включить его обратно забывает. То есть, если до запуска программы отработал бут, то МК продолжит и дальше работать на 16МГц.

Так что в самом начале программы явно указывайте значение предделителя
CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_8);

А не полагайтесь на камень :)

P.S. Вот тут сия бага описана на 67 стр. Исправлена в ревизии Z. Читайте еррату :)

атмелу пипец?

Глядя на ценник вот этой крохи невольно задаюсь вопросом из топика…

Бутлоадер для STM8 - хак для комфорта и удобства :)

!

Заслуга по созданию нижеописанного принадлежит Vga , но ему лень написать. Поэтому плюсики — ему :)

Те, кому приходилось прошивать STM8 через бутлоадер, знают, что для этого надо обладать известной ловкостью. Дело в том, что разработчики решили, что нечего отнимать у программы время, и урезали время в течении которого бут ждет команды до 1 секунды. Одной секунды!

Естественно, работать с ним руками очень весело и забавно. Одну руку кладем на мышь, наводим курсор на кнопку «Next» в программе-прошивалке, другую руку — на кнопку сброса на плате. И хорошо еще, если кнопка сброса есть и легко доступна. Зажимаем кнопку сброса, готовимся, ОТПУСКАЕМ СБРОС НАЖИМАЕМ NEXT. Если фокус удался, то бут откликнется. Иначе — повторить. А с первого раза получается не всегда, особенно если задумаешься о вечном :)

В общем игра интересная, сложная, но быстро надоедает. И надоедает она тем быстрее, чем более старая кнопка выполняет роль сброса (тактовые кнопы со временем начинают глючить).

Как многие наверняка знают, у нас тут намечается процессорный модуль с STM8L под PB2. А отладчика для STM8 на базе FT2232 не намечается. Поэтому тем, кто вовремя не затарился дискавери, придется пользоваться бутлоадером.

Но продавать тренажер для прокачки ловкости под видом процессорного модуля никто не собирался: проблему надо было как-то решать.
Исходников той части программы, которая работала непосредственно с бутлоадером у меня не было, а без них допилить функционал было проблематично. Я обратился с идеей по допиливанию проги к Vga, и за пару дней он родил Хак. Он дополнил библиотеку, работающую с загрузчиком функцией сброса контроллера.

Теперь перед тем, как начать работу с загрузчиком, она подает отрицательный импульс на ножку DTR. Если эту ножку подключить к RESET контроллера, то программа сбросит МК перед тем, как к нему обратиться. Теперь нам нужно всего-лишь кинуть проводок от DTR (это пин DBUS4 на PINBOARD II) к RESET и наслаждаться удобством :)

Хакнутый прошиватор брать тут. В приложения почему-то не добавляется

Для пущей наглядности, кино:

P.S. Спасибо Vga :)

Часики на STM8. "Пробный камешек".

Доброго времени суток, уважаемые! ))
Освоение прибывшей на днях платы STM8S-Discovery не прошло для меня даром, помаленьку привыкаю к этим МК.
Какое первое устройство делают «осваиватели»? Многие согласятся, что тут два варианта — часы или термометр ))
Вот часами я и занялся, дабы не отступать от традиций.


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