このメールは、OSASK-ML投稿フォームから書き込まれた内容です。
お名前: ベイサイド
[OSASK 6494]へのレスです。
static void wait(int mili){
int signal;
cprintf("wait(%dms)\n", mili);
lib_settimer(0x01, 0x01c0 /* SYSTEM_TIMER */);
if(mili < 1000){
lib_settimertime(0x0032, 0x01c0 /* SYSTEM_TIMER */, mili * 4294967, 0, 0);
}else{
lib_settimertime(0x0032, 0x01c0 /* SYSTEM_TIMER */, mili%1000 * 4294967, mili/1000, 0);
}
do {
if ((signal = getsignalw()) == 0) {
/* シグナルがないので、シグナルが来るまでスリープ */
lib_waitsignal(0x0001, 0, 0);
continue;
}
} while (signal != 190);
lib_settimer(0x01, 0x01c0 /* SYSTEM_TIMER */);
}
上記のようにやっても確率は減りますが落ちますね(涙)