Блокнот: размещение файлов в памяти.

Если проект выдаёт что-либо наружу сложнее нескольких светодиодов, то надо это как-то хранить. И для этого придумали понятие файл: это именованная область данных на носителе информации. Самый простой способ — разместить в памяти. Но даже тут возможны варианты.

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

Простой проигрыватель мелодий на Attiny13

Для новогодней поделки сделал простой проигрыватель-пищалку.




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

VinxFS - Самая маленькая файловая система FAT32 для AVR

Скачать одним файлом тут: github.com/vinxru/VinxFs/archive/master.zip
Смотреть на GITHUB: github.com/vinxru/VinxFs

Неоднократно читал на форумах, что люди ищут небольшую программу, которая бы позволяла работать с файловой системой FAT16/32. И многие выбирают Petit FatFS, потому что она работает даже на ATTiny. Но понимают через некоторе время, что она не умеет увеличивать размер существующих файлов. Приходится заранее создавать большие пустые файлы. А об удалении, создании, перемещении файлов или папок можно даже не думать.

Я предлагаю (безвозмездно) переработанную версию этой библиотеки. Это самая маленькая файловая система FAT16/FAT32 написанная на Си, умеющая создавать, изменять размер и удалять файлы. А так же переименовывать и переносить файлы и папки.


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

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

8L-Курс, Содержание

Тут, для удобства навигации, будет список статей из моего STM8L-курса. С кратким описанием каждой

● Часть 0 (ревизия дваноль) — Начало
Общие сведения о STM8 и STM8L

● Часть 1 — Hello светодиод!
Подключение отладчика, установка и настройка IAR, создание проекта-мигалки, прошивка через ST-Link и бутлоадер.

● Часть 2 — GPIO
Характеристики пинов, регистры GPIO. Простенький пример с семисегментным индикатором.

● Часть 3 — Прерывания
Механизм работы прерываний в STM8, приоритеты прерываний. Организация внешних прерываний. Activation Level

● Часть 4 — Тактирование
Устройство системы тактирование в STM8. Источники тактового сигнала. CSS. CCO. Калибровка.

● Часть 5 — Таймеры: начало
Базовые сведения об устройстве таймеров. На примере TIM1

Список будет пополняться по мере публикации новых частей и ослабления приступов лени у аффтара. Комментарии отключены ради высшей справедливости — увидевшие в тексте непотребство да напишут в ЛС.

Термометр без индикатора (и даже не говорящий)

Good news everyone!

На просторах интернетов живет целая куча термометров с bluetooth интерфейсом. Все они требуют софта на принимающей стороне, который отображает данные и строит красивые графики.

Мой градусник работает намного проще: выводит текущую температуру в качестве названия Bluetooth устройства.

Теперь узнать, насколько приблизился ледниковый период, можно с любого устройства, которое поддерживает bluetooth и умеет выводить список доступных девайсов.


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

Преодолевая пределы. Часть третья. Библиотеки в IAR.

Во второй части я предложил способ формирования ресурсов в среде IAR. Но не всегда достаточно выделения только ресурсов. Порой объем кода, требуемого для реализации сложного алгоритма, составляет десятки килобайт и выделить ресурсы данных при этом либо не представляется возможным, либо не дает желаемого результата. Не плохим выходом можно считать формирование «ресурсов кода».
Первая приходящая на ум идея — виртуальная машина, к сожалению, имеет больше минусов: создание самой ВМ, компилятора к ней, необходимость тщательной отладки, ну и естественно низкая скорость выполнения.
Гораздо интереснее выглядит вторая идея – библиотеки кода. Что если создать некое подобие *.dll/*.so файлов? Естественно на динамическую загрузку в полной мере я не претендую. Но реализовать аналог ROM с собственным API нам вполне по силам.
Про экспериментальную версию формирования библиотек кода, по аналогии с ресурсами, я вам расскажу в данной статье.


Читать дальше
  • +3
  • 01 декабря 2011, 12:43
  • angel5a
  • 2

Преодолевая пределы. Часть вторая. Ресурсы в IAR.

В первой части я продемонстрировал, как ресурсы могут быть созданы средствами ST Visual Develop. Но естественно держать проект в двух студиях несколько не удобно. В текущей публикации я расскажу, как все необходимые ресурсы могут быть созданы в среде разработки IAR.


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

Преодолевая пределы. Часть первая. Ресурсы.

При выборе среды разработки для контроллеров не мало важным является наличие ограничений по времени использования, объему кода, набора поддерживаемых архитектур и компиляторов. Использование платных версий сред часто затруднительно, а порой и не возможно, ввиду высокой их стоимости. Наиболее популярным решением, к сожалению, является использование crack’ов и keygen’ов. Но мало кто задумывается над способами легального использования средств разработки «не загоняющими вас в узкие рамки». В предлагаемой серии публикаций будет рассмотрено два способа использования среды разработки с ограничением по объему для создания прошивок, куда большего размера.


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