Очередной диспетчер. AVR. Си

Edit. Ну прямо азарт у меня появился. Очередная версия диспетчера. Возможности:
однократное выполнение,
отложенное однократное выполнение.

многократное выполнение без задержек и периодичности,
отложенное многократное выполнение, без задержек и периодичности.
отложенное многократное выполнение, с периодичностью.

Сразу же попробовал перенести на диспетчер свой один проект для проверки.

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


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

Кухонный таймер на ATTiny13

Мир вам!
Сразу ответы на вопросы:
— велосипед изобретал, так как жена попросила. Механический для неё тикает громко. :)
— "ATTiny13 — это же такая древность!" А куда мне его девать ещё, если он за несколько лет никуда не пригодился? К тому же в единственном экземпляре.


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

Таймер для двух нагрузок

Приветствую всех. Скоро ко мне должны приехать светодиоды для сборки установки засветки фоторезиста. Установка появится не скоро, я пока решил заняться сборкой таймера для нее. Заранее скажу, таймер был собран и в будущем я буду апгрейдить его прошивку.


Читать дальше
  • +7
  • 23 июля 2014, 23:43
  • XOR
  • 2

Простой таймер для пароварки

Приветствую всех. Как-то раз подарили маме пароварку. Дешевую. Она проработала некоторое время и у нее сдох таймер. Таймер был механическим, от механизма отломился кусок пластмассы и восстановлению не подлежал. Я решил сделать таймер на tiny13a, т.к. меньше ничего нет. Попутно испробовал не развязанный бестрансформаторный источник питания на LNK304. У меня были опасения насчет повышенной температуры внутри корпуса пароварки, поэтому я решил встроить таймер в нишу прежнего механического таймера. Необходимо было разместить блок питания и плату управления в отверстии диаметром около 35 мм и глубиной в пару см.

Читать дальше
  • +4
  • 09 июля 2014, 23:41
  • XOR
  • 1

Завершение эпопеи строительства USB коммутаторов.

Долгоиграющий проект USB коммутатор завершен. Финальный вариант устроивший заказчика — 24 входных USB порта, 12 выходных USB портов, 12-портовый RS-232 коммутатор и наконец 12 портовый коммутатор питания серверов. Все это добро, скрипя зубами, влезло в стандартную серверную стойку.



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

Расширения Atmel Studio 6

AVR

Сегодня речь пойдет о некоторых расширениях (extensions) бесплатной IDE от Atmel. Как можно понять из названия, extension — это плагин, расширяющий возможности редактирования или отладки кода. Устанавливать их можно как из самой Atmel Studio (далее по тексту — AS), так и вручную скачивая файлы расширений со своеобразного «app-store» — Atmel Gallery. И в том, и другом случае потребуется регистрация на сайте.
Подкатом инструкция в картинках.

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

Оболочка для прошивки готовых устройств через внешние консольные программы

Возникла потребность на работе прошивать партии разных устройств: одни такие, другие сякие. То железо чуть отличается, то код должен работать несколько иначе. Вариантов в итоге куча.
Поначалу прошивал из всяких авр студий, но ясно дело, что неудобно. Потом появилась авр студия 5.1 с первыйм cli в виде atprogram.exe. Я мог делать bat-файлы типа таких:
atprogram -t %4 -d %5 -i isp -cl 100khz write -fs --values %3
atprogram -t %4 -d %5 -i isp -cl 1250khz chiperase
atprogram -t %4 -d %5 -i isp -cl 1250khz program -fl -f %1
atprogram -t %4 -d %5 -i isp -cl 1250khz verify -fl -f %1
atprogram -t %4 -d %5 -i isp -cl 1250khz program -ee -f %2
atprogram -t %4 -d %5 -i isp -cl 1250khz verify -ee -f %2

Хватало какое-то время, но появились другие потребности: например, обновить в авр флеш, не трогая еепром (требуется изменить фьюзы, стереть, прошить, вернуть фьюзы). Или сгенерировать серийный номер внешней утилитой и зашить в еепром. Или ещё что.
А ещё проблема в том, что если какой-то этап не выполнен, то остальные выполнять не нужно. Но bat-файлу это не расскажешь.

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

Dowlib update

DOWLIB обновлён.
Bugfix: устранено бесконечное ожидание в Ex_DowRst при коротком замыкании шины. Теперь возвращает CY (нет отклика устройства на сброс)
Bugfix: вызов Ex_DowSkipRom ошибочно возвращал CY. поправлено.
Новая версия в аттаче.

Преобразование беззнакового целого числа в строку и обратно. Первый опыт.

На си начал писать недавно. Со стандартными библиотеками еще не сталкивался. Вдобавок постоянно видел в сети нарекания на эти библиотеки в плане ресурсоемкости. Так что решил отложить стандартные библиотеки до лучших времен.
Сейчас выполняю один проект. И столкнулся с преобразованием чисел в строку и обратно. Сначала я наткнулся на один сайт, взял оттуда пример. Этот пример мне не совсем понравился, но работает. Потом зашел на один ирк-канал. Тамошние участники меня убеждали использовать стандартные либы и ссылку подкинули. И как я на нее не наткнулся? Мне подошел способ со степенями 10. Тем более, что сам это делал на асме. Код поправил под себя. Выкладываю:

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

AVRASM: Пример использования "Диспетчера задач RTOS 2.0" (установка и настройка)

AVR
Для демонстрации основных возможностей и особенностей «Диспетчера задач RTOS 2.0» был собран демонстрационный макет, на основе «Универсальной макетной платы для МК в DIP-корпусе». В качестве прикладной задачи: мигаем светодиодами, в разных режимах…


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