Как стать автором
Обновить

leOS — многозадачное ядро для Arduino

Время на прочтение 1 мин
Количество просмотров 31K
Итальянский разработчик Леонардо Милиани выложил в открытый доступ исходники leOS (little embedded operating system) – маленького многозадачного ядра для Arduino. В своем блоге он пишет:
To be honest, it should more correct to say that leOS is actually something that is halfway a simple prototype of an real-time operating system (RTOS) and a scheduler. [...]
leOS can run simple tasks that don’t require excessive CPU time but it can be useful in all of those situations where the user wants to let a task run itself out of the main loop.

Ядро leOS обеспечивает диспетчеризацию вызовов пользовательских функций согласно заданным временным интервалам. Для этого leOS использует аппаратный Timer2 для отсчета интервалов между вызовами пользовательских функций, поэтому теряется доступ к функциям ШИМ на пинах D3 и D11. В ядре используется 64-битный счетчик, так что переполнение планировщика произойдет только через 584 942 417 лет.

Для использования leOS необходимо подключить библиотеку и создать экземпляр класса:
#include "leOS.h"
leOS myOS;

Подключение пользовательской функции к планировщику выполняется с помощью метода addTask():
void setup() {
  myOS.begin();
  myOS.addTask(myFunction, interval);
  ....
}

Больше информации и исходные коды leOS можно найти здесь.
Теги:
Хабы:
+14
Комментарии 13
Комментарии Комментарии 13

Публикации

Истории

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн
PG Bootcamp 2024
Дата 16 апреля
Время 09:30 – 21:00
Место
Минск Онлайн
EvaConf 2024
Дата 16 апреля
Время 11:00 – 16:00
Место
Москва Онлайн