割り込み処理

割り込みの処理方法

【割り込みとは?】

割り込みは外部からのイベントに相当します。この割り込みにより関連する
タスクがイベント起動されることになります。
割り込みはPICの機種毎に異なっており、機種が変わると対応する処理
部分をユーザで追加する必要があります。
PICROSではタイマ処理だけ内部で実行し、他の割り込みはユーザで定義
した処理部にジャンプするようにしています。また割り込みからのリターン
の時には、レジスタを復帰する必要があるので、復帰ルーチン部はPIROS
内に用意されています。

【タイマー割込み処理内容】

・タイマーはインターバルタイマとして動作させ、約10msec毎の割込みと
 なっています。
・割込み毎に、全タスクのTCTを調べ、TIMER WAIT中のタスクのパラメータ
 にある、タイマ値を1だけ減算する。
・もし、減算結果がゼロになったら、そのタスクのタイマ待ち合わせ時間が
 完了したわけなので、タスクのWAITフラグを解除する。
・全タスクの調査が終了したら割込み処理完了で割込みが入ったところに
 割込み許可リターンで戻す。
・現在実行中のタスクが終了すた時点でスケジューラに戻るので、その後
 タイマ待ち解除されたタスクに実行が移される。

【割り込み処理全体フロー】

PICROS内の割り込み処理のフローを下図に示します。
割り込みは実際に処理がなされているのはタイマの割り込みだけで、他の
割り込みはユーザ側で処理部を追加する必要があります。




  次のページへ     目次ページへ