>2つのタスクを実行する2つのタスクを実行するいよいよuITRONを使って、2つのタスクの同時実行。互いに異なるプログラム処理(タスク)が同時に動くのがマルチタスクOSの本領です。マルチタスクらしい、2つの同時処理をします。2つのタスク続いて2つのタスクを走らせてみます。LEDを点灯、時間をおいて消灯などで点滅をしたので、2つの点滅時間の違うタスクを作ってみます。同じもので間隔時間0.25秒のTask2を作ります。2つを登録して実行する。優先順位は1と2にしました。両方1にもできますが。同じようなTask2が増えただけですが、2つのプログラムです。NULL});cfgファイルでcreateタスクの1つをコメントアウトすると、1つだけの実行になる。この2つの実行を簡単に切り替えられるところもμITRONを使った特徴です。実行結果2つは違うタスクで点滅プログラムは別ですが、平行してTask1、Task2が走ります。同時に違うLEDの点滅動作の2つが平行して実行されているのがわかる。タスクが1つ増えただけですが、2つ同時に動くと楽しいです(^^main()のループ処理に慣れていると、右手と左手で別々のことをしているように見えて、最初しばらくはマルチタスクは違和感があります。共に無限ループで、出口はないように感じますがタスクが違うのでマルチタスクなら同時に走って当然です。dely()は遅らせる時間なので指定時間に返って来てまた処理したらいいだけなので、OSなしのループで遅らせとは別物です。繰り返しなので、時間がきてIOの切り替えしてるだけの軽い処理なのでタスク3つでも4つでも実行できるはずです。2つ以上の実行を独立して作りたいことはよくあり、各タスクの処理はOSがやってくれるのでこの点はやはり格段にいいです。このような処理をOS使わない場合は、割り込み処理などを使うので面倒な設定がでてきますが、μITRONを使うとちょっとおもしろくなってくるところです。マルチタスクでもマイコンが同時に処理できるのは1つなので、処理がぶつかると優先順位と待ちの状態が関係して複雑になりますが、待ち状態に関連するところは後で登場です。マルチタスクらしい処理と実行なのでちょっと楽しいところです。