toppers データキュー

今度はデータキューを使ってみます。 タスク1は、あらかじめ決められた数値を配列から読んで、データキューに入れます。 タスク2は、データキューから数値を読み出して、その回数だけLEDを点滅します。 タスク1の待ち時間の決め方が重要で、短すぎるとLEDが…

toppers セマフォ

引き続き、toppersで遊んでみます。 セマフォを使って、LEDの制御を行います。タスク1はセマフォをしばらくの間獲得したり、返却したりします。タスク2は起動するとすぐにセマフォを取りにいって、とれたらLEDを一瞬点灯してセマフォを返却します。タスク1…

toppers マルチタスク その3

今度は、スケジューリングを優先度ごとのラウンドロビンにしてみます。R2CA_RR_SCHEDULE_PRIで各ビットは優先度に対応していて、その優先度でラウンドロビン・スケジューリングを使うかどうかを示します。最下位ビットがレベル1に対応し、ビットを1にすると…

toppers マルチタスク その2

昨日のプログラムでは、全部のタスクが同じ優先度になっていました。そこで、タスクの優先度を調整することで、forループで時間待ちをしている間でも別のタスクが実行されるようにしてみました。 昨日のソースコードには手を加えず、ヘッダファイルでタスク…

toppers マルチタスク

toppersが動くようになったので、せっかくなのでマルチタスクで遊んでみます。 exampleのMultiTaskをもとに、次のようなプログラムを作りました。 メインのloopとtask2は、ともに1秒ごとにメッセージを表示するだけです。もう一つのtask1はLEDを点滅するの…

Arduino M0+でRTOS

Arduino M0+でtoppersが動くということなので、確認してみました。 Arduino M0 Pro でマルチタスクプログラミング : インストールとサンプルの実行 http://qiita.com/exshonda/items/093870ecdcda6c79678c 使えるArduino IDEのバージョンが1.7.xに限定され…