Multitasking on Microcontrollers using Task Oriented Programming

Microcontroller Units (MCUs) are all around us powering many of our so called smart devices. Most programs running on MCUs are control applications performing multiple jobs at the same time. Examples of these jobs are: blinking a status LED, reading button states, talking to sensors or communicating...

Full description

Saved in:
Bibliographic Details
Published in:2019 42nd International Convention on Information and Communication Technology, Electronics and Microelectronics (MIPRO) pp. 1587 - 1592
Main Authors: Lubbers, Mart, Koopman, Pieter, Plasmeijer, Rinus
Format: Conference Proceeding
Language:English
Published: Croatian Society MIPRO 01.05.2019
Subjects:
ISSN:2623-8764
Online Access:Get full text
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Microcontroller Units (MCUs) are all around us powering many of our so called smart devices. Most programs running on MCUs are control applications performing multiple jobs at the same time. Examples of these jobs are: blinking a status LED, reading button states, talking to sensors or communicating with the world. Often these jobs are dependent on each other and require communication between them. Small MCUs have no support for multiple threads, therefore the programmer needs to manually interleave the tasks. The job structure bears great similarities with tasks in Task Oriented Programming (TOP). Tasks representing work that needs to be done, can be interleaved and combined to form compound tasks. The embedded Domain Specific Language (eDSL) mTask is a TOP language that works on even the smallest of MCUs. This paper explains how to write multi-task control applications for MCUs using a TOP language such as mTask.
ISSN:2623-8764
DOI:10.23919/MIPRO.2019.8756711