260
9.
Sample Program Description
9.1 Overview of Sample Program
As an example application of MR100, the following shows a program that outputs a string to the standard output device
from one task and another alternately.
Table 9.1 Functions in the Sample Program
Function
Name
Type ID
No.
Priority
Description
main()
Task
1
1
Starts task1 and task2.
task1()
Task
2
2
Outputs "task1 running."
task2()
Task
3
3
Outputs "task2 running."
cyh1() Handler
1
Wakes
up
task1().
The content of processing is described below.
•
The main task starts task1, task2, and cyh1, and then terminates itself.
•
task1 operates in order of the following.
1.
Gets a semaphore.
2.
Goes to a wakeup wait state.
3.
Outputs "task1 running."
4.
Frees the semaphore.
•
task2 operates in order of the following.
1.
Gets a semaphore.
2.
Outputs "task2 running."
3.
Frees the semaphore.
cyh1 starts every 100 ms to wake up task1.