确认接收数据大小


确认接收数据大小命令的是rxlen。 设定了数据帧间隔("set ifg") 或是数据帧分隔符("set ifd")时返还接收的数据帧长度。 此时接收的数据帧间隔为多个时,将返还最先接收的数据帧长度。

"get rxlen [del]"

应答值为整数形态的字符串。

del上指定分隔符,将返还至相应分隔符的长度。

del上指定分隔符,将返还至相应分隔符的长度。 在del上指定分隔符,将返还至相应分隔符的长度。

※ 有关分隔符设定,请参考“帧定界符设定"的区分数据帧的结束

<?php
include "/lib/sd_spc.php";

$rwbuf = "";
$sid = 14;
spc_reset();
spc_sync_baud(115200);

spc_request_dev($sid, "set uart 115200N81");

while(1)
{
    $txfree = (int)spc_request_dev($sid, "get txfree");
    $rlen = (int)spc_request_dev($sid, "get rxlen");
    if($rlen > 0)
    {
        if($rlen <= $txfree)
        {
            // receive data
            $rwbuf = spc_request($sid, 6, "$rlen");

            // send data
            spc_request($sid, 7, $rwbuf);

            // print data
            echo $rwbuf;
        }
    }
    usleep(1000);
}
?>
<?php
include "/lib/sd_spc.php";

$rwbuf = "";
$sid = 14;
spc_reset();
spc_sync_baud(115200);

spc_request_dev($sid, "set uart 115200N81");

while(1)
{
    $txfree = (int)spc_request_dev($sid, "get txfree");
    $rlen = (int)spc_request_dev($sid, "get rxlen 0d");
    if($rlen > 0)
    {
        if($rlen <= $txfree)
        {
            // receive data
            $rwbuf = spc_request($sid, 6, "$rlen");

            // send data
            spc_request($sid, 7, $rwbuf);

            // print data
            echo $rwbuf;
        }
    }
    usleep(1000);
}
?>