EasyManua.ls Logo

Rabbit 2000 - Cooperative Multitasking

Rabbit 2000
54 pages
Print Icon
To Next Page IconTo Next Page
To Next Page IconTo Next Page
To Previous Page IconTo Previous Page
To Previous Page IconTo Previous Page
Loading...
26 Rabbit 2000 Development Kit
3.2 Cooperative Multitasking
Cooperative multitasking is a convenient way to perform several different tasks at the
same time. An example would be to step a machine through a sequence of steps and at the
same time independently carry on a dialog with the operator via a human interface. Coop-
erative multitasking differs from a different approach called preemptive multitasking.
Dynamic C supports both types of multitasking. In cooperative multitasking each separate
task voluntarily surrenders its compute time when it does not need to perform any more
activity immediately. In preemptive multitasking control is forcibly removed from the task
via an interrupt.
Dynamic C has language extensions to support multitasking. The major C constructs are
called costatements, cofunctions, and slicing. These are described more completely in the
Dynamic C Users Manual. The example below, sample program DEMOJR3.C, uses cos-
tatements. A costatement is a way to perform a sequence of operations that involve pauses
or waits for some external event to take place. A complete description of costatements is
in the Dynamic C Users Manual. The DEMOJR3.C sample program has two independent
tasks. The first task flashes LED DS4 once a second. The second task uses button S1 on
the Prototyping Board to toggle the logical value of a virtual switch, vswitch, and flash
DS1 each time the button is pressed. This task also debounces button S1.
Downloaded from Elcodis.com electronic components distributor

Other manuals for Rabbit 2000