以下の条件で、LED(PB0、PB1、PB2、PB3)を順番に点灯するプログラムを作成せよ。(点灯するのは常に1個のLED)
①task1、task2、task3、task4を定義する。
②task1の優先度をHIGH_PRIORITYとし、task2の優先度をMID_PRIORITY、task3、4の優先度をLOW_PRIORITYとする。
③task1はPB0、task2はPB1、task3はPB2、task4はPB3の点滅を制御する。
(task1はPB1およびPB2の点滅に関わってはいけない。task2はPB0およびPB2の点滅に関わっては
いけない。task3、4についても同様。
つまり、task1はPB_DRのbit0、task2はbit1....
のみを操作し、それ以外のビットを操作してはいけない。)
ex)
PB_DR |= 0x1; // PB0が消灯
PB_DR &= ~0x1; // PB0が点灯
④それぞれのタスクの優先度と、slp_tsk()およびwup_tsk()サービスコールを用いることで、以上の動作
を行う事。
⑤点灯の周期は1秒程度とする。