User manual - アプリケーション作成上の注意点ver.1.00(2008年5月26日)

14
2.特定関数の使用上の注意点
2-1.flg_sts
【内容】
通知モードで設定したフラグの状態を確認する関数ですが、永久ループ内では、この関数のみ
で脱出条件を設定することは避け、別の脱出条件(キー入力等)を入れるようにして下さい。
DT-700では、タイミングによって、内部的にフラグがマスクされるケースがあります。
そのため、フラグの状態が変わらず、同関数のみを脱出条件にした永久ループから抜けなくな
ります。
ただし、待ちの入る関数(key_readwai_flgc_din 等)を呼ぶことで、マスク状態は解除さ
れますので、永久ループに入る直前(もしくはループ内)で、これらの関数を呼んでいただく
ことで永久ループから脱出できなくなる危険性は無くなります。
【プログラム例】
・悪い例
t_id=s_settimer(FL_TM2_INT_ID, FL_TM2_INT_ITU0, 3);
while(1){
flg_sts(&dumy, &ptn, FL_TM2_INT_ID);
if (ptn & FL_TM2_INT_ITU0)
break;
}
・良い例
t_id=s_settimer(FL_TM2_INT_ID, FL_TM2_INT_ITU0, 1);
wai_flg(&ptn, FL_TM2_INT_ID, FL_TM2_INT_ITU0, TWF_ORW);
t_id=s_settimer(FL_TM2_INT_ID, FL_TM2_INT_ITU0, 2);
while(1){
flg_sts(&dumy, &ptn, FL_TM2_INT_ID);
if (ptn & FL_TM2_INT_ITU0)
break;
}