Коротенький диспетчер

Понадобился мне небольшой диспетчер. Вот, собственно, результат. Тут, конечно, фиг чего нового придумаешь, но все таки пусть лежит. Нуждается в легком допиливании, ибо добавление задачи сверх положенного сорвет контроллеру крышу, ну и стек в прерывании некисло прогружается. Под катом здоровая простыня кода, можно сразу копировать и запускать. Есть фрагменты кода DI HALT`a, они со мной давно ))


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

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

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

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

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

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


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

Многозадачный программный таймер, ver 2.0

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


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

Диспетчер, снова диспетчер

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


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