确认接收数据大小命令的是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);
}
?>
确认至指定分隔符的接收数据大小 例
此例是将(0x0d)作为分隔符,按数据帧单位接收数据并将相应数据再传输的例。
<?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);
}
?>