●●●くみこの組み込み相談室1.0●●●
■ このスレッドは過去ログ倉庫に格納されています
0124デフォルトの名無しさん
2007/12/03(月) 12:16:03quewrit(qcbp,evt)では、
set_imask_ccr((_UBYTE)1); // 割込み禁止必要
qcbp->bufp[qcbp->wpt] = evt;
qcbp->cnt += 1;
qcbp->wpt =(char)((qcbp->wpt+1)&qcbp->mask);
set_imask_ccr((_UBYTE)0); // 割込み許可 07.11.14
とやってます。 取り出しはmainloopで、
c = qcbp->bufp[rp];
set_imask_ccr((_UBYTE)1); /* for ルネサスc */
qcbp->cnt -= 1;
set_imask_ccr((_UBYTE)0); /* for ルネサスc */
qcbp->rp=(qcbp->rp+1)&mask; とやってます。
このrpとwpが、中身0のときたまにずれてるんです。
■ このスレッドは過去ログ倉庫に格納されています