pid_ioctl()


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);