/* * 状態の読出し(SR0の読出し) * * μPD72001は,状態(SR0)を一度読むと受信通知ビットが落ちてしまうた * め,状態を読み出す関数を設け,シリアルI/Oポート管理ブロック中の * getready に受信通知状態,putready に送信可能状態を保存している(送 * 信可能状態の保存は不要かもしれない). * 状態レジスタを読んでも受信通知ビットが落ちないデバイス(こちらが普 * 通と思われる)では,この関数は必要ない. */ static void upd72001_get_stat(SIOPCB *siopcb) { UB sr0; sr0 = upd72001_read_ctrl(siopcb->siopinib->ctrl, UPD72001_SR0); if ((sr0 & SR0_RECV) != 0) { siopcb->getready = TRUE; } if ((sr0 & SR0_SEND) != 0) { siopcb->putready = TRUE; } }
/* * 状態の読出し(SR0の読出し) * * μPD72001は,状態(SR0)を一度読むと受信通知ビットが落ちてしまうた * め,状態を読み出す関数を設け,シリアルI/Oポート管理ブロック中の * getreadyに受信通知状態,putreadyに送信可能状態を保存している(送信 * 可能状態の保存は不要かもしれない). * 状態レジスタを読んでも受信通知ビットが落ちないデバイス(こちらが普 * 通と思われる)では,この関数は必要ない. */ static void upd72001_get_stat(SIOPCB *p_siopcb) { uint8_t sr0; sr0 = upd72001_read_ctrl(p_siopcb->p_siopinib->ctrl, UPD72001_SR0); if ((sr0 & SR0_RECV) != 0) { p_siopcb->getready = true; } if ((sr0 & SR0_SEND) != 0) { p_siopcb->putready = true; } }