SWITCH-технология для МК. Пример реализации на AVR.

AVR

SWITCH-технология для МК. Пример реализации на AVR.


Disclaimer
Цель написания данной заметки исключительно простая — поделится собственным опытом и наработками применения так называемой SWITCH-технологии при разработке программного обеспечения для МК. В данной заметке приведено краткое описание реализации UART LCD дисплея на ATmega8 и символьный дисплей 2Х16 символов (исходники прилагаются).

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

Видео блог Майкла. Профессионал или любитель?

Уже около года слежу за видео блогом баварца Майкла или linuxgeek81. В нем автор детально рассказывается о создании различного типа устройств «от и до». Весьма профессиональная домашняя лаборатория позволяет оценить крутость производства и уровень эмбеддера (на мой взгляд дана пятого не меньше). Не сочтите за рекламу просто весьма познавательно и интересно. На сайте находятся архивы со всей инфой по девайсам (исходники, pcb, sch ect.). Вот к примеру один из его шедевров:




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

Графическая библиотека для МК на С++. Драйвер KS0108.

Продолжая работать над своей библиотекой для микроконтроллеров, я начал реализовывать графическую подсистему. Для начала дисплей был выбран на популярном контроллере KS0108 — в первую очередь по тому, что он относительно стандартный, доступный и многим хорошо знаком. В сети довольно много материала по работе с этим контроллером, много и готовых библиотек, но почему-то почти везде вывод текста и картинок должен быть выровнен по границам страниц дисплея. Это не удобно. Так-же большинство готовых библиотек реализуют рисование прямых и окружностей с толщиной линии только в один пиксель.

Итак, реалированные фичи:
  1. Дисплей можно подключать на любые свободные ноги МК;
  2. Независимомть от целевой платформы;
  3. Возможность отладки на ПК;
  4. Высокоуровневый код для рисования не зависит от дисплея;
  5. Минимальные требования к RAM, ROM и F_CPU;
  6. Картинки могут храниться как по строкам, так и по столбцам;
  7. Поддержка нескольких шрифтов;
  8. Поддержка юникода.
  9. Рисование линий заданной толщины;
  10. Шрифты и картинки могут быть любого доступного размера.


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

Автогенерация кода или улетные шаблоны в Си

Давным-давно в далекой-далекой галактике попались мне исходники не помню чего, у которых в шапке стояла пометка:
// Generated Automaticaly by xxx, Do not edit

И так мне эта идея понравилась, что начал копать на тему автогенераторов кода.
Ведь как было бы хорошо, если бы вместо убогого препроцессора были возможности нормального языка, исполняемого на этапе компиляции.

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

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

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

В целом мне понравилось, но времени (да и особой надобности) не было, чтобы попробовать.
До вчерашнего дня.


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

Sublime Text 2 топик-ссылка

Отличная замена Notepad++ Удобный и красивый, а главное - кроссплатформенный. Советую! Платный. Бесплатная версия отличается тем, что давит на совесть надписью в заголовке.

Про пики и их программирование

Тут недавно был чей-то пост относительно программирования 24-х пиков.
Некоторых не устроило то, как автор преподнес материал.

Мне, в частности, не понравилось, что конфигурация всей периферии происходила путем записи некоторых неоднозначных чисел в конфигурационные регистры. Но шанса развить дискуссию не дали. Поэтому тем, кому интересно, как это относительно просто и красиво сделать в MPLAB с компилятором C30, например, прошу под кат.



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

Черный AVR DRAGON в год дракона

AVR
Каково место нашего Дракоши среди других зверей для АВР-друзей? Что он может? Как его безопасно юзать? Какими легендами окружен Дракон? Как практически начать работу?
Такие вопросы стояли передо мной в конце декабря 2011 года, я хочу поделится своими ответами.

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

Программирование микроконтроллеров на ДРАКОНе

Некоторое время назад мне на глаза попалось упоминание о языке ДРАКОН. Я немного почитал, ничего не понял, закрыл, забыл.
Но почему-то забылось не совсем.
Тут подвернулась поездка. Снова нашёл, закачал файл в электронную книжку, взял с собой. В поезде всё равно делать нечего.

Медленно и со вкусом прочитал.

И — понял! Это просто клад!

По возвращении уже думал только об одном: где бы найти инструмент для работы?
К счастью, такой инструмент нашелся.

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

Использование языка ДРАКОН при разработке программ для микроконтроллеров

Хочу рассказать о языке ДРАКОН, который больше года использую при написании программ для микроконтроллеров. Причём — самых разных, от PIC16 до ARM Cortex 3M c FreeRTOS. ДРАКОН — это качественно новый уровень программирования. Разместил ссылку на www.drakon-practic.ru. У меня — вопрос. Нужно ли мне писать отдельную статью, или достаточно этой ссылки? Там я собрал всё, что нужно для начала работы с Драконом. Планирую добавлять уроки и примеры.

Введение в микроконтроллеры Freescale (Часть 1)

Введение

Здравствуйте.

Недавно группой инженеров и программистов, имеющей определенный опыт работы в разработке устройств на базе микропроцессоров и микроконтроллеров, был создан ресурс «Freescale клуб» (freescale-club.ru). Цель проекта — решение вопросов в освоении микроконтроллеров/процессоров Freescale, возникающих как у новичков, так и у опытных разработчиков. В рамках этого ресурса планируется сделать ряд статей помогающим новичкам освоится, а имеющим опыт — узнать что-то новое «с той стороны силы». Начну ряд статей с наиболее простой — использование микроконтроллеров.

Эта статья написана для инженеров, использующих в своих проектах микроконтроллеры. Сейчас большой популярностью пользуются микроконтроллеры AVR. Они решают множество задач, они недорогие, доступные, и по ним огромное количество документации в интернете. Но со временем функционал проектов растёт, и приходится переходить на более высокопроизводительные микроконтроллеры, микропроцессоры или цифровые сигнальные процессоры. К сожалению фирма Atmell не может похвастаться наличием недорогих высокопроизводительных микроконтроллеров. В качестве альтернативы вполне могут выступать аналогичные продукты от Freescale.


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