int/string pid_ioctl ( int $pid, string $req, [ , string $arg, … ] )
pid_ioctl() манипулирует параметрами устройства
Возвращает целое число или строку при успехе, при неудаче PHP появляется ошибка
<?php
$pid = pid_open("/mmap/uart0"); // open UART0
// set the device to 115200bps, no parity, 8 databit, 1stop bit
pid_ioctl($pid, "set baud 115200");
pid_ioctl($pid, "set parity 0");
pid_ioctl($pid, "set data 8");
pid_ioctl($pid, "set stop 1");
pid_ioctl($pid, "set flowctrl 0");
$rbuf = "";
while(1)
{
$rxlen = pid_ioctl($pid, "get rxlen"); // get received data from the uart0
if($rxlen >= 8)
{
$rlen = pid_read($pid, $rbuf, 8);
if($rlen > 0 )
{
$wlen = pid_write($pid, $rbuf, $rlen);
echo "$rlen bytes receviced and echoed\r\n";
}
}
}
?>
pid_open() / pid_close() / pid_read() / pid_write() / pid_recv() / pid_send()
Пожалуйста, обратитесь к руководствам по программированию устройств для получения дополнительной информации.
Функция pid_ioctl() поддерживает другой формат функции. Слова, начинающиеся с ‘%’ с последующим числом в строке, заменяются параметрами. Например, две последующие функции в точности такие же.
pid_ioctl($pid, "set baud 115200");
$baudrate_name = "baud";
$baudrate = "115200";
pid_ioctl($pid, "set %1 %2", $baudrate_name, $baudrate);