Командой для установки межкадрого интервала является ifg.
"set ifg (bits)"
Укажите интервал bits.
Межкадровый интервал - это способ различать кадры с учитыванием врменени. Интервал может быть установлен в диапазоне от 0 до 30000 бит. например, если вы установите интервал кадров от 10 до 9600 bps, фактическое время установки будет около 0.001 секунды (= 10/9600). Даже если устройство настроено на одно и то же значение, заданное время будет отличаится, если отличается скорость обмена.
Переданные кадры передаются с заданным интервалом кадра.
<?php
include "/lib/sd_spc.php";
$sid = 14;
spc_reset();
spc_sync_baud(115200);
spc_request_dev($sid, "set uart 115200N81");
// set frame to frame interval : 100 milliseconds
spc_request_dev($sid, "set ifg 11520");
spc_request($sid, 7, "This is the first frame.\r\n");
spc_request($sid, 7, "This is the second frame.\r\nIt will be transmitted 100 milliseconds later right after the first packet has been transmitted. \r\n");
?>
Если нет новых данных до установленного времени при приеме данных, то данные, полученные до этой точки, распознаются как один кадр. В то же время, вы можете проверить длину кадра при помощи команды "get rxlen" и получить данные в еденицах кадра.
<?php
include "/lib/sd_spc.php";
$rbuf = "";
$sid = 14;
spc_reset();
spc_sync_baud(115200);
spc_request_dev($sid, "set uart 115200N81");
// set frame to frame interval : 100 milliseconds
spc_request_dev($sid, "set ifg 11520");
while(1)
{
$rlen = (int)spc_request_dev($sid, "get rxlen");
if($rlen > 0)
{
$rbuf = spc_request($sid, 6, "$rlen");
echo "frame length = $rlen\r\n";
hexdump($rbuf);
}
}
?>
※ Примечание: Параметр интервала между кадрами ("set ifg") и управление потоком (H и S) не могут быть использованы одновременно.
※ Примечание: Настройка интервала меджу кадрами ("set ifg") и настройка разделителя интервала кадров ("set ifd") не могут быть использованы одновременно.